Source Code accidently compiled into games

Discussion in 'Technical Discussion' started by evilhamwizard, Feb 11, 2010.

  1. evilhamwizard

    evilhamwizard

    Researcher
    1,351
    276
    63
    I love when games are accidentally compiled with files that shouldn't have been compiled. My favorite being source code. Do you know of any games that do this by accident (except for Sonic 2NA)? Here's a nice one:

    This comes from ESPN Baseball Tonight:

    <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>entry point: 00000200
    no relocation info
    executable

    START END LENGTH FILE SECTION TYPE

    00000000 00000007 000008 X.OUT >(ORG) T
    00000000 00000007 000008 MAIN.O (ORG) T ORG

    00000060 0000008f 000030 X.OUT >(ORG) T
    00000060 0000008f 000030 MAIN.O (ORG) T ORG

    00000100 00000100 000000 X.OUT >(ORG) T
    00000100 00000100 000000 MAIN.O (ORG) T ORG

    00000100 000001ff 000100 X.OUT >(ORG) T
    00000100 000001ff 000100 MAIN.O (ORG) T ORG

    00000200 00000ac3 0008c4 X.OUT >(ORG) T
    00000200 00000ac3 0008c4 MAIN.O (ORG) T ORG

    00000ac4 0001272b 011c68 X.OUT >.text T
    00000ac4 00000baf 0000ec MAIN.O .text T
    00000bb0 000069a7 005df8 WCS.O .text T
    000069a8 0000fe73 0094cc AI.O .text T
    0000fe74 00010f2f 0010bc LOGOS.O .text T
    00010f30 0001101f 0000f0 LZWDECOM.O .text T
    00011020 0001157f 000560 PPGE_PM.O .text T
    00011580 0001159f 000020 PPGE_PMC.O .text T
    000115a0 00012437 000e98 PPGE_GD.O .text T
    00012438 00012507 0000d0 PPGE_GDC.O .text T
    00012508 00012508 000000 GRAPHICS.O .text T
    00012508 00012508 000000 FIELD.O .text T
    00012508 00012508 000000 STRIPS.O .text T
    00012508 00012508 000000 BATTART.O .text T
    00012508 00012508 000000 LBATTART.O .text T
    00012508 00012508 000000 FIELDART.O .text T
    00012508 00012508 000000 FIELDRUN.O .text T
    00012508 00012508 000000 FIELDTHR.O .text T
    00012508 00012508 000000 FIELDCAT.O .text T
    00012508 00012508 000000 RUNNER.O .text T
    00012508 0001258b 000084 SOUND.O .text T
    0001258c 0001272b 0001a0 STATS.O .text T

    00020000 0005ac4b 03ac4c X.OUT >sounds D
    00020000 0005ac4b 03ac4c GEMS.O .text T
    0005ac4c 0005ac4c 000000 GEMS.O .data D
    0005ac4c 0005ac4c 000000 GEMS.O .bss B (00)

    0005ac4c 0006b3f7 0107ac X.OUT >field D
    0005ac4c 0006b3f7 0107ac FIELD.O field D

    0006b3f8 001dad87 16f990 X.OUT >graphics D
    0006b3f8 0006b477 000080 LOGOS.O graphics D
    0006b478 00088963 01d4ec GRAPHICS.O graphics D
    00088964 0008fe1b 0074b8 FIELD.O graphics D
    0008fe1c 000951bf 0053a4 STRIPS.O graphics D
    000951c0 000bb8df 026720 BATTART.O graphics D
    000bb8e0 000c4fbf 0096e0 LBATTART.O graphics D
    000c4fc0 000e67a7 0217e8 FIELDART.O graphics D
    000e67a8 00101297 01aaf0 FIELDRUN.O graphics D
    00101298 0012ac7f 0299e8 FIELDTHR.O graphics D
    0012ac80 001a1b67 076ee8 FIELDCAT.O graphics D
    001a1b68 001dad87 039220 RUNNER.O graphics D

    001dad88 001df02b 0042a4 X.OUT >tables D
    001dad88 001dad88 000000 MAIN.O tables D
    001dad88 001dbabb 000d34 WCS.O tables D
    001dbabc 001dc83b 000d80 AI.O tables D
    001dc83c 001dcc4b 000410 LOGOS.O tables D
    001dcc4c 001dcf4b 000300 PPGE_PM.O tables D
    001dcf4c 001dcf4c 000000 PPGE_PMC.O tables D
    001dcf4c 001dcf6b 000020 PPGE_GD.O tables D
    001dcf6c 001dcf6c 000000 PPGE_GDC.O tables D
    001dcf6c 001dcf6c 000000 GRAPHICS.O tables D
    001dcf6c 001dcf8b 000020 FIELD.O tables D
    001dcf8c 001df02b 0020a0 STATS.O tables D

    001df02c 001df02c 000000 X.OUT >.batt

    001df02c 001f6323 0172f8 X.OUT >.graphic D
    001df02c 001f6323 0172f8 LOGOS.O .graphic D

    00ff0000 00fff197 00f198 X.OUT >.data D
    00ff0000 00ff0000 000000 MAIN.O .data D
    00ff0000 00ffce23 00ce24 WCS.O .data D
    00ffce24 00ffce24 000000 AI.O .data D
    00ffce24 00ffce24 000000 LOGOS.O .data D
    00ffce24 00ffce24 000000 LZWDECOM.O .data D
    00ffce24 00ffce33 000010 PPGE_PM.O .data D
    00ffce34 00ffce34 000000 PPGE_PMC.O .data D
    00ffce34 00fff013 0021e0 PPGE_GD.O .data D
    00fff014 00fff014 000000 PPGE_GDC.O .data D
    00fff014 00fff014 000000 GRAPHICS.O .data D
    00fff014 00fff014 000000 FIELD.O .data D
    00fff014 00fff014 000000 STRIPS.O .data D
    00fff014 00fff014 000000 BATTART.O .data D
    00fff014 00fff014 000000 LBATTART.O .data D
    00fff014 00fff014 000000 FIELDART.O .data D
    00fff014 00fff014 000000 FIELDRUN.O .data D
    00fff014 00fff014 000000 FIELDTHR.O .data D
    00fff014 00fff014 000000 FIELDCAT.O .data D
    00fff014 00fff014 000000 RUNNER.O .data D
    00fff014 00fff014 000000 SOUND.O .data D
    00fff014 00fff197 000184 STATS.O .data D

    00fff198 00fff1b3 00001c X.OUT >.bss B (00)
    00fff198 00fff198 000000 MAIN.O .bss B (00)
    00fff198 00fff1b3 00001c WCS.O .bss B (00)
    00fff1b4 00fff1b4 000000 AI.O .bss B (00)
    00fff1b4 00fff1b4 000000 LOGOS.O .bss B (00)
    00fff1b4 00fff1b4 000000 LZWDECOM.O .bss B (00)
    00fff1b4 00fff1b4 000000 PPGE_PM.O .bss B (00)
    00fff1b4 00fff1b4 000000 PPGE_PMC.O .bss B (00)
    00fff1b4 00fff1b4 000000 PPGE_GD.O .bss B (00)
    00fff1b4 00fff1b4 000000 PPGE_GDC.O .bss B (00)
    00fff1b4 00fff1b4 000000 GRAPHICS.O .bss B (00)
    00fff1b4 00fff1b4 000000 FIELD.O .bss B (00)
    00fff1b4 00fff1b4 000000 STRIPS.O .bss B (00)
    00fff1b4 00fff1b4 000000 BATTART.O .bss B (00)
    00fff1b4 00fff1b4 000000 LBATTART.O .bss B (00)
    00fff1b4 00fff1b4 000000 FIELDART.O .bss B (00)
    00fff1b4 00fff1b4 000000 FIELDRUN.O .bss B (00)
    00fff1b4 00fff1b4 000000 FIELDTHR.O .bss B (00)
    00fff1b4 00fff1b4 000000 FIELDCAT.O .bss B (00)
    00fff1b4 00fff1b4 000000 RUNNER.O .bss B (00)
    00fff1b4 00fff1b4 000000 SOUND.O .bss B (00)
    00fff1b4 00fff1b4 000000 STATS.O .bss B (00)

    RESERVED SYMBOLS

    00fff1b4 heap_org
    00000e4c heap_len
    ff1b4 000000 FIELDART.O .bss B (00)
    00fff1b4 00fff1b4 000000 FIELDRUN.O .bss B (00)
    00fff1b4 00fff1b4 000000 FIELDTHR.O .bss B (00)
    00fff1b4 00fff1b4</div>

    Here's some more from the same game:

    <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>* *
    * Project: Sony ESPN Baseball *
    * *
    * Module: AI.S *
    * *
    * Module Creation Date: March 1993 *
    * *
    * Author: Russell Shanks *
    * *
    * Development System: Sierra Systems *
    * *
    *****************************************************************************


    include MACROS.I
    Include EQUATES.I
    include sound.inc

    *----------------------------------------------------------------------------


    *****************************************************************************
    * PPGE
    *****************************************************************************
    include ppge_var.inc

    *----------------------------------------------------------------------------
    *
    section tables

    xdef radar_ytable
    xdef radar_xtable

    InitialLogicTable ;entity descending order
    dc.l HaloLogic
    dc.l FieldXLogic,LookEntityLogic,LookEntityLogic
    dc.l LookEntityLogic,LookEntityLogic,InitialThirdLogic
    dc.l InitialSecondLogic,InitialFirstRunLogic
    dc.l InitialBatterLogic,InitialFielderLogic
    dc.l InitialFielderLogic,InitialFielderLogic
    dc.l InitialFielderLogic,InitialFielderLogic
    dc.l InitialFielderLogic,InitialFielderLogic
    dc.l InitialCatcherLogic,InitialPitcherLogic

    FielderSelectTable
    dc.w FBaseman_ptr,Fbaseman_ptr,Sbaseman_ptr,Pitcher_ptr
    dc.w ShortStop_ptr,Tbaseman_ptr,Tbaseman_ptr
    dc.w Fbaseman_ptr,Sbaseman_ptr,Sbaseman_ptr,ShortStop_ptr
    dc.w ShortStop_ptr,Tbaseman_ptr,Tbaseman_ptr
    dc.w RFielder_ptr,RFielder_ptr,RFielder_ptr,CFielder_ptr
    dc.w LFielder_ptr,LFielder_ptr,LFielder_ptr


    FielderRF_tbl
    dc.w 8,6,7,7,8,8,7,7

    FielderThrowIS_tbl
    dc.w 3,3,4,4,3,3,4,4 ;only 3 and 4's good here

    dc.b 13,13,13,13,13,13,13,13
    dc.b 13,13,13,13,13,13,13,13
    dc.b 13,13,13,13,13,13,13,13
    dc.b 13,13,13,13,13,13,13,13
    dc.b 13,13,13,13,13,13,13,13
    dc.b 13,13,13,13,13,13,13,13
    dc.b 13,13,13,13,13,13,13,13
    * dc.b 14,15,16,17,18,19,20,21
    dc.b 13,13,13,13,13,13,13,13
    ballvscale_table
    * dc.b 22,23,24,26,27,28,29,31
    dc.b 13,13,14,14,15,16,17,18
    * dc.b 32,33,34,36,37,38,39,41
    dc.b 20,21,22,23,25,26,27,29
    * dc.b 42,43,44,45,47,48,49,50
    dc.b 30,31,32,33,35,36,37,38
    * dc.b 52,53,54,55,57,58,59,60
    dc.b 40,41,42,43,45,46,47,48
    * dc.b 62,63,64,65,67,68,69,70
    dc.b 50,51,52,53,54,55,56,57
    * dc.b 71,73,74,75,76,78,79,80
    dc.b 61,63,65,68,71,74,76,78
    dc.b 81,83,84,85,86,88,89,90
    dc.b 91,93,94,95,96,97,99,100
    dc.b 101,102,104,105,106,107,109,110
    dc.b 111,112,114,115,116,117,119,120
    dc.b 121,122,123,125,126,127,128,130
    dc.b 131,132,133,135,136,137,138,140
    dc.b 141,142,143,145,146,147,148,150
    dc.b 151,152,153,154,156,157,158,159
    dc.b 161,162,163,164,166,167,168,169
    dc.b 171,172,173,174,176,177,178,179
    dc.b 180,182,183,184,185,187,188,189
    dc.b 190,192,193,194,195,197,198,199
    dc.b 200,202,203,204,205,206,208,209
    dc.b 210,211,213,214,215,216,218,219
    dc.b 220,221,223,224,225,226,228,229
    dc.b 230,231,232,234,235,236,237,239
    dc.b 240,241,242,244,245,246,247,249
    dc.b 250,251,252,254,255,255


    * dc.b 67,68,69,70,71,72,73,74
    dc.b 31,33,35,37,39,41,43,47
    runnervscale_table
    * dc.b 75,76,77,78,79,80,81,82
    dc.b 49,51,53,57,59,61,63,65
    * dc.b 83,84,85,86,87,88,89,90
    dc.b 67,69,71,73,75,77,79,81
    * dc.b 91,92,93,94,95,96,97,98
    dc.b 83,85,87,89,91,93,95,96
    * dc.b 99,100,100,100,100,100,100,100
    dc.b 97,97,98,98,99,99,100,100
    dc.b 100,100,100,100,100,100,100,100
    dc.b 100,100,100,100,100,100,100,100
    dc.b 100,100,100,100,100,100,100,100
    dc.b 100,100,100,100,100,100,100,100
    dc.b 101,102,104,105,106,107,109,110
    dc.b 111,112,114,115,116,117,119,120
    dc.b 121,122,123,125,126,127,128,130
    dc.b 131,132,133,135,136,137,138,140
    dc.b 141,142,143,145,146,147,148,150
    dc.b 151,152,153,154,156,157,158,159
    dc.b 161,162,163,164,166,167,168,169
    dc.b 171,172,173,174,176,177,178,179
    dc.b 180,182,183,184,185,187,188,189
    dc.b 190,192,193,194,195,197,198,199
    dc.b 200,202,203,204,205,206,208,209
    dc.b 210,211,213,214,215,216,218,219
    dc.b 220,221,223,224,225,226,228,229
    dc.b 230,231,232,234,235,236,237,239
    dc.b 240,241,242,244,245,246,247,249
    dc.b 250,251,252,254,255,255



    * dc.b 100,100,100,100,100,100,100,100
    *runnervscale_table
    * dc.b 100,100,100,100,100,100,100,100
    * dc.b 100,100,100,100,100,100,100,100
    * dc.b 100,100,100,100,100,100,100,100
    * dc.b 100,100,100,100,100,100,100,100
    * dc.b 100,100,100,100,100,100,100,100
    * dc.b 100,100,100,100,100,100,100,100
    * dc.b 100,100,100,100,100,100,100,100
    * dc.b 100,100,100,100,100,100,100,100
    * dc.b 101,102,104,105,106,107,109,110
    * dc.b 111,112,114,115,116,117,119,120
    * dc.b 121,122,123,125,126,127,128,130
    * dc.b 131,132,133,135,136,137,138,140
    * dc.b 141,142,143,145,146,147,148,150
    * dc.b 151,152,153,154,156,157,158,159
    * dc.b 161,162,163,164,166,167,168,169
    * dc.b 171,172,173,174,176,177,178,179
    * dc.b 180,182,183,184,185,187,188,189
    * dc.b 190,192,193,194,195,197,198,199
    * dc.b 200,202,203,204,205,206,208,209
    * dc.b 210,211,213,214,215,216,218,219
    * dc.b 220,221,223,224,225,226,228,229
    * dc.b 230,231,232,234,235,236,237,239
    * dc.b 240,241,242,244,245,246,247,249
    * dc.b 250,251,252,254,255,255



    * dc.w #0,#430,#518,#573,#615,#647
    dc.w #430,#430,#430,#430,#518,#573,#615,#647
    walltable
    dc.w #686,#717,#742,#766,#792,#816,#838,#862 ;16
    dc.w #878,#893,#913,#924,#925,#925,#925,#925 ;24
    dc.w #925,#925,#925,#925,#925,#925,#925,#925 ;32
    dc.w #926,#927,#928,#929,#930,#930,#930,#926 ;40
    dc.w #922,#918,#914,#910,#906,#902,#898,#894 ;48
    dc.w #890,#886,#882,#878,#874,#870,#866,#862 ;56
    dc.w #858,#854,#850,#846,#842,#838,#834,#830 ;64
    dc.w #826,#822,#818,#814,#810,#806,#802,#798 ;72
    dc.w #794,#790,#786,#782,#768,#764,#760,#756 ;80
    dc.w #752,#748,#744,#738,#734,#730,#726,#722 ;88
    dc.w #718,#714,#710,#706,#704,#700,#696,#692 ;96
    dc.w #688,#684,#680,#676,#672,#668,#664,#660 ;104
    dc.w #656,#652,#648,#644,#640,#634,#630,#626 ;112
    * dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;40
    * dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;48
    * dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;56
    * dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;64
    * dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;72
    * dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;80
    * dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;88
    * dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;96
    * dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;104
    * dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;112

    dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;120
    dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;128
    dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;136
    dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;144
    dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;152
    dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;160
    dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;168
    dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;176
    dc.w #961,#961,#961,#961,#961,#961,#961,#961 ;184

    dc.b 8,8,8,8,8,8,8,8
    To1AndHome
    * dc.b 8,8,8,8,8,8,8,8 ;0-7
    dc.b 9,9,9,9,9,9,9,8 ;15
    dc.b 8,8,8,8,8,7,7,7 ;23
    dc.b 7,7,7,6,6,6,6,6 ;31
    dc.b 6,5,5,5,5,5,5,4 ;39
    dc.b 4,4,4,4,4,3,3,3 ;47
    dc.b 3,3,3,3,2,2,2,2 ;55
    dc.b 2,2,1,1,1,1,1,1 ;63
    dc.b 1,1,1,1,1,1,1,1 ;71
    dc.b 1,1,1,1,1,1,1,1
    dc.b 1,1,1,1,1,1,1,1
    dc.b 1,1,1,1,1,1,1,1
    dc.b 1,1

    dc.b 1,1,1,1,1,1,1,1
    dc.b 1,1,1,1,1,1,1,1
    dc.b 1,1,1,1,1,1,1,1

    dc.b 4,4,4,4,4,4,4,4,4,4
    To2And3
    dc.b 4,4,4,4,4,4,4,4,4,4
    dc.b 3,3,3,3,3,3,3,3,3,3
    dc.b 2,2,2,2,2,2,2,2,2,2
    dc.b 1,1,1,1,1,1,1,1,1,1
    dc.b 0,0,0,0,0,0,0,0,0,0

    * dc.b 0,0,0,0,0,0,0,0
    * dc.b 0,0,0,0,0,0,0,0,0
    * dc.b 0,0,0,0,0,0,0,0,0

    FielderScaleTable
    dc.b 0,0,0,0,0,0,0,1 ;8
    dc.b 1,1,1,1,1,1,2,2 ;16
    dc.b 2,2,2,2,2,3,3,3 ;32
    * dc.b 3,3,3,3,4,4,4,4 ;40
    * dc.b 4,4,4,5,5,5,5,5 ;48
    dc.b 3,4,4,4,4,5,5,5 ;40
    dc.b 5,5,5,5,5,5,5,5 ;48
    dc.b 5,6,6,6,6,6,6,6 ;56
    dc.b 6,6,6,6,6,6,6,6 ;64
    dc.b 6,6,6,6,6,6,6,6 ;72
    dc.b 6,6,6,6,6,6,6,6 ;
    dc.b 6,6,6,6,6,6,6,6 ;
    dc.b 6,6,6,6,6,6,6,6 ;
    dc.b 6,6,6,6,6,6,6,6 ;
    dc.b 6,6,6,6,6,6,6,6 ;
    dc.b 6,6,6,6,6,6,6,6 ;
    dc.b 6,6,6,6,6,6,6,6 ;
    dc.b 6,6,6,6,6,6,6,6 ;
    dc.b 6,6,6,6,6,6,6,6 ;
    dc.b 6,6,6,6,6,6,6,6 ;
    dc.b 6,6,6,6,6,6,6,6 ;
    dc.b 6,6,6,6,6,6,6,6 ;
    dc.b 6,6,6,6,6,6,6,6 ;
    dc.b 6,6,6,6,6,6,6,6 ;184


    Pdirectiontable
    dc.b #0,#128,#0,#128,#192,#160,#224,#224
    dc.b #64,#96,#32,#64,#64,#64,#64,#64

    dc.b 0,0,0,0,0,0,0,0
    dc.b 0,0,0,0,0,0,0,0
    dc.b 0,0,0,0,0,0,0,0
    dc.b 0,0,0,0,0,0,0,0
    dc.b 0,0,0,0,0,0,0,0
    dc.b 0,0,0,0,0,0,0,0
    dc.b 0,0,0,0,0,0,0,0
    dc.b 1,2,3,4,5,6,7,8 ; -8 - -1
    radar_ytable
    dc.b 9,10,11,12,13,14,15,16 ; 0-7
    dc.b 17,18,19,20,21,21,22,23 ; 8-15
    dc.b 23,24,25,25,26,27,27,28 ; 16-23
    dc.b 29,29,30,30,31,31,32,32 ; 24-31
    dc.b 33,33,34,34,34,35,35,35 ; 32-39
    dc.b 36,36,36,37,37,37,38,38 ; 40-47

    dc.b 38,39,39,40,40,41,41,42 ; 48-55
    dc.b 42,43,43,44,44,45,45,46 ; 56-63 Pitcher's mound y=61

    dc.b 46,46,47,47,47,47,48,48 ; 64-71
    dc.b 48,48,48,49,49,49,49,49
    dc.b 49,50,50,50,50,50,50,51
    dc.b 51,51,51,51,51,52,52,52
    dc.b 52,52,52,53,53,53,53,53
    dc.b 53,54,54,54,54,54,54,55
    dc.b 55,55,55,55,55,56,56,56
    dc.b 56,56,56,57,57,57,57,57
    dc.b 57,58,58,58,58,58,58,59
    dc.b 59,59,59,59,60,60,60,60

    dc.b 60,60,61,61,61,61,61,61
    dc.b 62,62,62,62,62,62,63,63
    dc.b 63,63,63,63,64,64,64,64
    dc.b 64,64,65,65,65,65,65,65
    dc.b 66,66,66,66,66,66,67,67
    dc.b 67,67,67,67,68,68,68,68

    Radar_xtable
    dc.b #0,#0,#0,#0,#0,#0,#0,#0
    dc.b #0,#0,#0,#0,#0,#0,#0,#0
    dc.b #0,#0,#0,#0,#0,#0,#0,#0
    dc.b #0,#0,#0,#0,#0,#0,#0,#0
    dc.b #0,#0,#0,#0,#0,#0,#0,#0
    dc.b #1,#1,#1,#1,#1,#1,#1,#1
    dc.b #1,#1,#1,#1,#1,#1,#1,#1
    dc.b #1,#1,#1,#1,#1,#1,#1,#1
    dc.b #1,#1,#1,#1,#1,#1,#1,#1
    dc.b #1,#1,#1,#1,#1,#1,#1,#1
    dc.b #2,#2,#2,#2,#2,#2,#2,#2
    dc.b #2,#2,#2,#2,#2,#2,#2,#2
    dc.b #2,#2,#2,#2,#2,#2,#2,#2
    dc.b #2,#2,#2,#2,#2,#2,#2,#2
    dc.b #2,#2,#2,#2,#2,#2,#2,#2
    dc.b #3,#3,#3,#3,#3,#3,#3,#3
    dc.b #3,#3,#3,#3,#3,#3,#3,#3
    dc.b #3,#3,#3,#3,#3,#3,#3,#3
    dc.b #3,#3,#3,#3,#3,#3,#3,#3
    dc.b #3,#3,#3,#3,#3,#3,#3,#3
    dc.b #4,#4,#4,#4,#4,#4,#4,#4
    dc.b #4,#4,#4,#4,#4,#4,#4,#4
    dc.b #4,#4,#4,#4,#4,#4,#4,#4
    dc.b #4,#4,#4,#4,#4,#4,#4,#4
    dc.b #4,#4,#4,#4,#4,#4,#4,#4
    dc.b #5,#5,#5,#5,#5,#5,#5,#5
    dc.b #5,#5,#5,#5,#5,#5,#5,#5
    dc.b #5,#5,#5,#5,#5,#5,#5,#5
    dc.b #5,#5,#5,#5,#5,#5,#5,#5
    dc.b #5,#5,#5,#5,#5,#5,#5,#5
    dc.b #6,#6,#6,#6,#6,#6,#6,#6
    dc.b #6,#6,#6,#6,#6,#6,#6,#6
    dc.b #6,#6,#6,#6,#6,#6,#6,#6
    dc.b #6,#6,#6,#6,#6,#6,#6,#6
    dc.b #6,#6,#6,#6,#6,#6,#6,#6
    dc.b #7,#7,#7,#7,#7,#7,#7,#7
    dc.b #7,#7,#7,#7,#7,#7,#7,#7
    dc.b #7,#7,#7,#7,#7,#7,#7,#7
    dc.b #7,#7,#7,#7,#7,#7,#7,#7
    dc.b #7,#7,#7,#7,#7,#7,#7,#7
    dc.b #8,#8,#8,#8,#8,#8,#8,#8
    dc.b #8,#8,#8,#8,#8,#8,#8,#8
    dc.b #8,#8,#8,#8,#8,#8,#8,#8
    dc.b #8,#8,#8,#8,#8,#8,#8,#8
    dc.b #8,#8,#8,#8,#8,#8,#8,#8
    dc.b #9,#9,#9,#9,#9,#9,#9,#9
    dc.b #9,#9,#9,#9,#9,#9,#9,#9
    dc.b #9,#9,#9,#9,#9,#9,#9,#9
    dc.b #9,#9,#9,#9,#9,#9,#9,#9
    dc.b #9,#9,#9,#9,#9,#9,#9,#9
    dc.b #10,#10,#10,#10,#10,#10,#10,#10
    dc.b #10,#10,#10,#10,#10,#10,#10,#10
    dc.b #10,#10,#10,#10,#10,#10,#10,#10
    dc.b #10,#10,#10,#10,#10,#10,#10,#10
    dc.b #10,#10,#10,#10,#10,#10,#10,#10
    dc.b #11,#11,#11,#11,#11,#11,#11,#11
    dc.b #11,#11,#11,#11,#11,#11,#11,#11
    dc.b #11,#11,#11,#11,#11,#11,#11,#11
    dc.b #11,#11,#11,#11,#11,#11,#11,#11
    dc.b #11,#11,#11,#11,#11,#11,#11,#11
    dc.b #12,#12,#12,#12,#12,#12,#12,#12
    dc.b #12,#12,#12,#12,#12,#12,#12,#12
    dc.b #12,#12,#12,#12,#12,#12,#12,#12
    dc.b #12,#12,#12,#12,#12,#12,#12,#12
    dc.b #12,#12,#12,#12,#12,#12,#12,#12
    dc.b #13,#13,#13,#13,#13,#13,#13,#13
    dc.b #13,#13,#13,#13,#13,#13,#13,#13
    dc.b #13,#13,#13,#13,#13,#13,#13,#13
    dc.b #13,#13,#13,#13,#13,#13,#13,#13
    dc.b #13,#13,#13,#13,#13,#13,#13,#13
    dc.b #14,#14,#14,#14,#14,#14,#14,#14
    dc.b #14,#14,#14,#14,#14,#14,#14,#14
    dc.b #14,#14,#14,#14,#14,#14,#14,#14
    dc.b #14,#14,#14,#14,#14,#14,#14,#14
    dc.b #14,#14,#14,#14,#14,#14,#14,#14
    dc.b #15,#15,#15,#15,#15,#15,#15,#15
    dc.b #15,#15,#15,#15,#15,#15,#15,#15
    dc.b #15,#15,#15,#15,#15,#15,#15,#15
    dc.b #15,#15,#15,#15,#15,#15,#15,#15
    dc.b #15,#15,#15,#15,#15,#15,#15,#15
    dc.b #16,#16,#16,#16,#16,#16,#16,#16
    dc.b #16,#16,#16,#16,#16,#16,#16,#17
    dc.b #17,#17,#17,#17,#17,#17,#17,#17
    dc.b #17,#17,#17,#17,#17,#18,#18,#18
    dc.b #18,#18,#18,#18,#18,#18,#18,#18
    dc.b #18,#18,#18,#19,#19,#19,#19,#19
    dc.b #19,#19,#19,#19,#19,#19,#19,#19
    dc.b #19,#20,#20,#20,#20,#20,#20,#20
    dc.b #20,#20,#20,#20,#20,#20,#20,#20
    dc.b #21,#21,#21,#21,#21,#21,#21,#21
    dc.b #21,#21,#21,#21,#21,#21,#22,#22
    dc.b #22,#22,#22,#22,#22,#22,#22,#22
    dc.b #22,#22,#22,#22,#23,#23,#23,#23
    dc.b #23,#23,#23,#23,#23,#23,#23,#23
    dc.b #23,#23,#24,#24,#24,#24,#24,#24
    dc.b #24,#24,#24,#24,#24,#24,#24,#24
    dc.b #24,#25,#25,#25,#25,#25,#25,#25
    dc.b #25,#25,#25,#25,#25,#25,#25,#26
    dc.b #26,#26,#26,#26,#26,#26,#26,#26
    dc.b #26,#26,#26,#26,#26,#27,#27,#27
    dc.b #27,#27,#27,#27,#27,#27,#27,#27
    dc.b #27,#27,#27,#28,#28,#28,#28,#28
    dc.b #28,#28,#28,#28,#28,#28,#28,#28
    dc.b #28,#29,#29,#29,#29,#29,#29,#29
    dc.b #29,#29,#29,#29,#29,#29,#29,#29
    dc.b #30,#30,#30,#30,#30,#30,#30,#30
    dc.b #30,#30,#30,#30,#30,#30,#31,#31
    dc.b #31,#31,#31,#31,#31,#31,#31,#31
    dc.b #31,#31,#31,#31,#32,#32,#32,#32
    dc.b #32,#32,#32,#32,#32,#32,#32,#32
    dc.b #32,#32,#33,#33,#33,#33,#33,#33
    dc.b #33,#33,#33,#33,#33,#33,#33,#33
    dc.b #33,#34,#34,#34,#34,#34,#34,#34
    dc.b #34,#34,#34,#34,#34,#34,#34,#35
    dc.b #35,#35,#35,#35,#35,#35,#35,#35
    dc.b #35,#35,#35,#35,#35,#36,#36,#36
    dc.b #36,#36,#36,#36,#36,#36,#36,#36
    dc.b #36,#36,#36,#37,#37,#37,#37,#37
    dc.b #37,#37,#37,#37,#37,#37,#37,#37
    dc.b #37,#38,#38,#38,#38,#38,#38,#38
    dc.b #38,#38,#38,#38,#38,#38,#38,#38
    dc.b #39,#39,#39,#39,#39,#39,#39,#39
    dc.b #39,#39,#39,#39,#39,#39,#40,#40
    dc.b #40,#40,#40,#40,#40,#40,#40,#40
    dc.b #40,#40,#40,#40,#41,#41,#41,#41
    dc.b #41,#41,#41,#41,#41,#41,#41,#41
    dc.b #41,#41,#42,#42,#42,#42,#42,#42
    dc.b #42,#42,#42,#42,#42,#42,#42,#42


    CPitchType_tbl
    dc.w 0,0,0
    dc.w #Joy_U,#Joy_U,#Joy_U
    dc.w #Joy_D,#Joy_D,#Joy_D
    dc.w #Joy_L,#Joy_L,#Joy_L
    dc.w #Joy_R,#Joy_R,#Joy_R

    ; 0 down middle, 1 high, 2 low, 3 left, 4 right

    xdef PlayerPos_EntityNum_tbl

    PlayerPos_EntityNum_tbl
    dc.w #Pitcher_ptr,#Pitcher_ptr ; s/r pitcher
    dc.w #FBaseman_ptr
    dc.w #SBaseman_ptr
    dc.w #TBaseman_ptr
    dc.w #ShortStop_ptr
    dc.w #LFielder_ptr
    dc.w #RFielder_ptr
    dc.w #CFielder_ptr
    dc.w #Catcher_ptr
    dc.w #Batter_ptr


    AFFlipTable
    dc.w FBaseman_ptr,TBaseman_ptr
    dc.w SBaseman_ptr,ShortStop_ptr
    dc.w RFielder_ptr,LFielder_ptr

    section .text

    BatRangeTable
    dc.w BatLowHitRange,BatMidHitRange
    dc.w BatHighHitRange,BatMidHitRange


    xdef AI
    xdef NullLogic
    xdef BatSwing_000
    xdef Pitch_000
    xdef Bounds_RL
    xdef HaloLogic
    xdef FieldXLogic
    xdef LookEntityLogic
    xdef InitialBallLogic
    xdef BallShadowLogic
    xdef InitialCatcherLogic
    xdef InitialPitcherLogic
    xdef InitialBatterLogic
    xdef InitialCameraLogic
    xdef FractionalMultiply
    xdef InitialFielderLogic
    xdef InitialRunnerLogic
    xdef InitialFirstRunLogic
    xdef InitialSecondLogic
    xdef InitialThirdLogic

    ***********************************************************************
    Cosine MACRO

    movem.l \1/A0,-(sp)
    lea.l Cosine_Table,A0

    lsl.w #1,\1
    move.w (A0,\1.w),\3
    muls.w \2,\3

    movem.l (sp)+,\1/A0

    ENDM

    Sine MACRO

    movem.l \1/A0,-(sp)
    lea.l Sine_Table,A0

    lsl.w #1,\1
    move.w (A0,\1.w),\3
    muls.w \2,\3

    movem.l (sp)+,\1/A0

    ENDM

    Atan MACRO

    movem.l \1/\2/A0,-(sp)
    lea.l ArcTAN_Table,A0
    lsr.l #8,\1
    IFEQ ArcTan_Bytes-1
    lsr.l #1,\1
    ELSEC
    lsr.l #1,\1
    ENDC
    add.l #$8000,\2
    clr.w \2
    swap \2

    tst.l \2
    bne .do_div\@

    move.w #0,\3
    bra .atx\@
    .do_div\@
    divu.w \2,\1

    cmp.w #$80,\1
    blt .adj\@

    move.w #$20,\3
    jmp .atx\@
    .adj\@
    sub.w #1,\1
    bpl .do_shift\@
    clr.w \1
    .do_shift\@
    IFEQ ArcTan_Bytes-1
    move.w \1,\2
    and.w #$7E,\1

    move.w (A0,\1.w),\3
    btst #0,\2
    bne .got_atan\@

    lsr.w #8,\3
    .got_atan\@
    and.w #$00FF,\3
    ELSEC
    lsl.w #1,\1
    move.w (A0,\1.w),\3
    ENDC
    .atx\@
    movem.l (sp)+,\1/\2/A0

    ENDM

    AI
    movem.l D0-D7/A0-A6,-(sp)
    move.l sp,StackDebugPtr
    move.w Num_Entities,D7
    NORL
    cmp.l StackDebugPtr,sp
    bne NORL
    lea.l VTentity,A0
    sub.l #1,D7
    bmi _AI_done
    move.l D7,D0
    asl.l #Index_Shift,D0

    * cmp.w #0,VTFon(A0,D0.w) ;is this entity to be processed?
    * beq NORL ;if not then get the next one

    cmp.w #2,RunnerExists
    ble .c1
    cmp.w #Batter_ptr,d0
    ble .c1
    tst.w VTFrend(a0,d0.w)
    bne .c1
    move.w d7,d6
    and.w #1,d6
    move.w VBlank_cnt,d5
    and.w #1,d5
    eor.w d5,d6
    bne NORL
    .c1
    move.l VTseq_step(A0,D0.w),D1 ;does this entity have AI?
    beq NORL ;if not then get the next one
    move.l D1,A1
    jmp (A1) ;otherwise do AI
    _AI_done
    movem.l (sp)+,D0-D7/A0-A6
    rts

    *****************************************************************************

    NullLogic jmp NORL

    InfOutfline equ SBase_Y-$50000
    BILine1y equ #$34 ;20
    BILine2y equ #$c

    Grab_Radius equ $20000


    BallSpeed equ $-200000
    Pball_x equ 406
    Pball_y equ -21

    BatHitFrame equ 15 ;18
    CheckSwingFrame equ 15 ;18

    RBatBoxMin equ $ffcc
    RBatBoxMax equ $ffe0 ;$ffe5
    LBatBoxMin equ $20 ;$1b
    LBatBoxMax equ $34

    PitcherMaxL equ $fffc
    PitcherMaxR equ $4

    BatHitToRunStrip equ $0

    SlowPitchSpeed equ $08
    SlowPitchSpeedz equ $2
    MediumPitchSpeed equ $09
    MediumPitchSpeedz equ $2
    FastPitchSpeed equ $0b ;a
    FastPitchSpeedz equ $1

    StraightPitch equ $0
    RightCurvePitch equ $1
    LeftCurvePitch equ $2
    UpCurvePitch equ $4
    DownCurvePitch equ $8
    GroundFriction equ $00000b00 ;500

    BatLowHit equ $0
    BatMidHit equ $2
    BatHighHit equ $4
    Bunt equ $6


    BatYRangeLow equ $95 ;$082
    BatYRangeMid equ $a0 ;$095
    BatYRangeHigh equ $0ac

    *BallRangeHigh equ $0b2 ;off bottom of screen
    BallRangeHigh equ $0c0 ;off bottom of screen

    BallMaxX equ $0400 ;off right of screen
    BallMinX equ $fc00 ;off left of screen

    HitBoxY equ $095
    HitBoxTop equ $0b0 ;90
    HitBoxBottom equ $030
    HitBoxLeft equ $fff3
    HitBoxRight equ $b

    Fielder_Reach equ $d0
    FielderRunSpeed equ $5800 ;10000

    Strike equ $0001
    Ball equ $ffff
    HT_Home_Run equ #1
    HT_Outf equ #2
    HT_Ord equ #0
    HT_Foul equ #3
    HT_Bunt equ #4
    HT_IFPop equ #5

    BatLowHitRange equ 124 ;#$48
    BatMidHitRange equ 153 ;#$90
    BatHighHitRange equ 156 ;#$cb

    MaxZHeight equ #$400000



    ballvscale_lo equ -7
    ballvscale_high equ BallRangeHigh

    *****************************************************************************
    WaitOnAnimation
    tst.w VTFrdir(a0,d0.w) ;if animation not running don't wait
    beq setnextseq
    tst.w VTFrend(a0,d0.w)
    beq .done
    setnextseq
    move.l VTNextSeq(a0,d0.w),VTSeq_step(a0,d0.w)
    clr.w VTFrdir(a0,d0.w)
    .done jmp NORL

    *****************************************************************************
    WaitOnCatchAnimation
    jsr checktags
    tst.w VTFrdir(a0,d0.w) ;if animation not running don't wait
    beq .setnextseq
    tst.w VTFrend(a0,d0.w)
    beq .done
    .setnextseq
    move.l VTNextSeq(a0,d0.w),VTSeq_step(a0,d0.w)
    clr.w VTFrdir(a0,d0.w)
    .done jmp NORL


    **************************************************************
    xdef HRDerbyLogic

    HRDerbyLogic
    tst.w DerbyDone
    bne .waitstart

    move.w Fcontrollers,d1 ;allow S to exit hrderby
    or.w BControllers,d1
    btst #Joy_S,d1
    beq .r1
    lsr.w #8,d1
    btst #Joy_S,d1
    beq .waitstart
    .r1
    lea.l DerbyBatterNum,a1
    add.l BteamAdj,a1
    move.w (a1),PlayerAtBat
    tst.w PlayerAtBat ;QUICK PATCH : FIND BUG IN DOSUBS!
    bge .bp1
    clr.w PlayerAtBat
    .bp1
    tst.w DerbyEvent
    beq .done
    jsr DisplayDerbyInfo

    cmp.w #15,DerbyPitchNum
    blt .done

    tst.w NumGamers
    beq .dr
    tst.w DerbyPlayer
    bne .dr
    jsr Clear_ScrollA
    .dr
    jsr DisplayDerbyRanking

    cmp.w #1,NumGamers ;derby over if 1 player mode
    blt .derbydone
    tst.w DerbyPlayer ;or if player 2 is done
    beq .c1
    .derbydone
    move.w #1,DerbyDone
    clr.w VTFrdir(a0,d0.w)
    clr.w FComputer
    bra .done
    .c1
    move.w #1,NeedNewBatter
    eor.l #2,FTeamAdj
    eor.l #2,BTeamAdj
    move.w BTeamNum,d1
    move.w FTeamNum,BTeamNum
    move.w d1,FTeamNum
    clr.w DerbyPitchNum
    clr.w DerbyScore
    eor.w #1,DerbyPlayer
    jsr SwitchPlayerPal
    .done
    jmp NORL
    .waitstart
    clr.w VTfrdir(a0,d0.w)
    move.w Fcontrollers,d1
    or.w BControllers,d1
    btst #Joy_S,d1
    beq .checkc
    lsr.w #8,d1
    btst #Joy_S,d1
    bne .checkc
    clr.w FComputer ;Reset Controllers
    clr.l FTeamAdj
    move.l #2,BTeamAdj
    clr.w killradarentities
    clr.w runsht
    clr.w runsvt
    move #0,FadeDirection ;Fade Down Field
    move #2,FadeSpeed
    clr.w PracticeMode
    StopSound #S_DIGITALCROWD
    jsr _Initgems
    JSR StartFadeDown
    jsr WaitForFadeUp
    move.l #VCTRL,A4 *; Macros use these registers
    move.w #$9000+000000,(A4) ;R16= | 0 | 0 |VS1|VS0| 0 | 0 |HS1|HS0| Scroll Size (00=32,01=64,10=XX,11=128)
    jmp WarmEntry ;DoGame
    .checkc
    btst #Joy_C,d1
    beq .done
    lsr.w #8,d1
    btst #Joy_C,d1
    bne .done
    * jsr Clear_ScrollA
    clr.w DerbyDone
    clr.w DerbyPitchNum
    move.w #14,derbypitchnum
    clr.w DerbyScore
    move.w #1,DerbyEvent
    move.w #1,NeedNewBatter
    move.w #1,FComputer
    tst.w NumGamers
    bne .c1
    clr.w DerbyPlayer
    jmp NORL

    **************************************************************
    xdef PracticeModeLogic

    PracticeModeLogic
    move.w Fcontrollers,d1
    or.w BControllers,d1
    btst #Joy_S,d1
    beq .c1
    lsr.w #8,d1
    btst #Joy_S,d1
    bne .c1
    bset #Joy_S,d1
    move.w d1,BControllers
    move.w d1,FControllers
    jsr DisplayPractMsg
    add.w #1,temp4
    cmp.w #2,temp4
    blt .c1
    jmp DoGame
    .c1
    move.w Fcontrollers,d1
    or.w BControllers,d1
    btst #Joy_C,d1
    beq .done
    lsr.w #8,d1
    btst #Joy_C,d1
    bne .done

    move.w #1,temp4
    clr.w d1 ;set debounce next round
    bset #Joy_C,d1
    move.w d1,BControllers
    move.w d1,FControllers

    eor.l #2,FTeamAdj
    eor.l #2,BTeamAdj
    move.w Fcomputer,d1
    move.w Bcomputer,Fcomputer
    move.w d1,Bcomputer
    jsr DisplayPractMsg
    .done
    jmp NORL

    HeavyCameraLogic
    movem.l a2,-(sp)

    lea.l Vtentity+FieldX_ptr,a1
    tst.w VTfon(a1)
    bne _YNotReset

    * lea.l Vtentity+ball_ent_ptr,a2
    * move.l VTsped(a2),d2
    * asl.l #4,d2
    * move.w VTdir(a2),d1
    * jsr GetEndPoint
    * add.l VTy(a2),d2
    * move.l d2,d1 ;leading y coordinate

    move.l VTy(a0,d0.w),d1
    cmp.w #BallHit_ps,Playstage
    beq .r0
    move.w Active_Fielder,d3 ;if ball thrown
    move.l VTy(a0,d3.w),d1 ;follow active fielder

    * move.l VTy(a0,d0.w),d1
    .r0 sub.l Oldy,d1
    bge _DY_Positive
    asr.l #3,d1
    cmp.l #-8*$10000,d1
    bge _NDyok
    move.l #-8*$10000,d1
    _NDyok
    move.l d1,PCamDy
    bra _CamDyDone

    _DY_Positive
    asr.l #3,d1
    cmp.l #8*$10000,d1
    ble _PDyok
    move.l #8*$10000,d1
    _PDyok
    move.l d1,PCamDy

    _CamDyDone
    move.l Oldy,d1
    add.l PCamDy,d1
    move.l d1,VTy(a0,d0.w)
    bra _nowx

    _YNotReset
    move.l VTy(a0,d0.w),d1
    cmp.w #BallHit_ps,Playstage
    beq .r1
    move.w Active_Fielder,d3
    move.l VTy(a0,d3.w),d1
    .r1
    move.l d1,d2
    and.l #$ffff0000,d2
    move.l Oldy,d3
    and.l #$ffff0000,d3
    cmp.l d2,d3
    beq _nowx
    sub.l Oldy,d1
    asr.l #4,d1
    bpl _YDY_Positive
    cmp.l NCamDY,d1
    bge _NsetNCamDy

    move.l NCamDy,d1
    cmp.l #-8*$10000,d1
    ble _YNDyok
    sub.l #$4000,d1
    _NSetNCamDY
    move.l d1,NCamDy
    _YNDyok
    move.l d1,PCamDy
    bra _YCamDyDone

    _YDY_Positive
    cmp.l NCamDY,d1
    ble _PSetNCamDY

    move.l NCamDy,d1
    cmp.l #8*$10000,d1
    bge _YPDyok
    add.l #$4000,d1

    _PSetNCamDY
    move.l d1,NCamDY

    _YPDyok
    move.l d1,PCamDy

    _YCamDyDone
    move.l Oldy,d1
    add.l PCamDy,d1
    move.l d1,VTy(a0,d0.w)
    _nowx
    tst.w VTFon(a1)
    bne _XNotReset

    * lea.l Vtentity+ball_ent_ptr,a2
    * move.l VTsped(a2),d2
    * asl.l #4,d2
    * move.w VTdir(a2),d1
    * jsr GetEndPoint
    * add.l VTx(a2),d1 ;leading x Coordinate

    move.l Vtx(a0,d0.w),d1
    cmp.w #BallHit_ps,Playstage
    beq .r2
    move.w Active_Fielder,d3
    move.l VTx(a0,d3.w),d1
    .r2
    * move.l Vtx(a0,d0.w),d1
    sub.l Oldx,d1
    bge _DX_Positive
    asr.l #3,d1
    cmp.l #-16*$10000,d1 ;16
    bge _NDxok
    move.l #-16*$10000,d1 ;16
    _NDxok
    move.l d1,PCamDx
    bra _CamDxDone

    _DX_Positive
    asr.l #3,d1
    cmp.l #16*$10000,d1 ;16
    ble _PDxok
    move.l #16*$10000,d1 ;16
    _PDxok
    move.l d1,PCamDx

    _CamDxDone
    move.l Oldx,d1
    add.l PCamDx,d1
    move.l d1,VTx(a0,d0.w)
    bra .done

    _XNotReset

    move.l VTx(a0,d0.w),d1

    cmp.w #BallHit_ps,Playstage
    beq .r3
    move.w Active_Fielder,d3
    move.l VTx(a0,d3.w),d1
    .r3
    move.l d1,d2
    and.l #$ffff0000,d2
    move.l Oldx,d3
    and.l #$ffff0000,d3
    cmp.l d2,d3
    beq .done
    sub.l Oldx,d1
    asr.l #4,d1
    bge _XDX_Positive
    cmp.l NCamDX,d1
    bge _NsetNCamDx

    move.l NCamDx,d1
    cmp.l #-16*$10000,d1 ;16
    ble _XNDxok
    sub.l #$4000,d1
    _NSetNCamDX
    move.l d1,NCamDx
    _XNDxok
    move.l d1,PCamDx
    bra _XCamDxDone

    _XDX_Positive
    cmp.l NCamDX,d1
    ble _PSetNCamDX

    move.l NCamDx,d1
    cmp.l #16*$10000,d1 ;16
    bge _XPDxok
    add.l #$4000,d1

    _PSetNCamDX
    move.l d1,NCamDX

    _XPDxok
    move.l d1,PCamDx

    _XCamDxDone
    move.l Oldx,d1
    add.l PCamDx,d1
    move.l d1,VTx(a0,d0.w)

    .done
    movem.l (sp)+,a2
    rts


    InitialCameraLogic
    tst.w PanBack
    bne _ResetCamera

    tst.w InPitcherIF
    bne .done
    tst.w Catcherreturn
    bne .done

    bra _movewithball
    .done
    jmp NORL

    _movewithball
    tst.w BallLocation
    beq .chbs
    lea.l VTentity,a1
    moveq.l #0,d1
    move.w Balllocation,d1
    asl.w #8,d1
    add.l d1,a1
    bra .smove
    .chbs
    lea.l VTEntity+BallShadow_Ent_ptr,a1
    cmp.w #HT_Home_Run,Hittype
    bne .smove

    lea.l VTentity+Ball_ent_ptr,a1 ;follow ball
    bra .smove

    .smove
    * lea.l VTentity+Batter_ptr,a1
    move.w #0,d0
    lea.l VTentity,a0

    move.w #1,d4
    move.w VTx(a1),VTx(a0)
    move.w VTy(a1),VTy(a0)

    lea.l VTentity+FieldX_ptr,a1
    tst.w VTfon(a1)
    beq .hcl
    move.w VTx(a1),VTx(a0)
    move.w VTy(A1),VTy(a0)

    .hcl jsr HeavyCameraLogic
    jsr ScrollXY
    .done
    lea.l Vtentity,a0
    move.w #0,d0
    move.l VTy(a0,d0.w),Oldy
    move.l VTx(a0,d0.w),Oldx
    jmp NORL


    _ResetCamera
    lea.l VTentity+ballshadow_ent_ptr,a1
    move.w #3,VTx(a1)
    move.w #110,VTy(a1)
    move.w #CamULC_X,d0
    move.w #CamULC_Y,d1
    jsr StepPanCamera1
    cmp.w #CamULC_X,Map_ULC_X
    bne .done
    cmp.w #CamULC_Y,Map_ULC_Y
    bne .done
    clr.w PanBack
    lea.l Vtentity,a0
    move.w #CamCenterX,Vtx(a0)
    move.w #CamCentery,Vty(a0)
    move.w #CamCenterX,oldx
    move.w #CamCenterY,oldy
    .done jmp NORL

    setcamxy
    movem.l d1/a0-a1,-(sp)
    lea.l Vtentity,a0
    lea.l VTentity+Ball_ent_ptr,a1
    move.w VTx(a1),d1
    add.w Map_Center_X,D1
    sub.w #128,d1
    move.w d1,VTx(a0)
    move.l VTy(a1),d1
    sub.w #16,d1
    add.w Map_Center_Y,D1
    sub.w #110,d1
    move.w d1,VTy(a0)
    movem.l (sp)+,d1/a0-a1
    rts
    *_ResetCamera
    * clr.w PanBack
    * lea.l Field_Map,A0

    * move.w #CamULC_X,D0
    * move.w #CamULC_Y,D1
    * jsr load_field
    * jmp NORL



    StepPanCamera1
    * D0 = target x position
    * D1 = target y position
    *
    * Note: No bounds checking, scroll routines will not
    * scroll off screen, but camx,camy will get screwed up

    move.w d1,d6
    sub.w Map_ULC_Y,d6 ; Targy - MapULCY = distanceY
    beq .panx
    bgt .pand ; if positive pan down
    neg.w d6 ; distanceY = abs(distanceY)
    move.w PanSpeed,d5
    sub.w #8,d5
    cmp.w d5,d6
    * cmp.w PanSpeed,d6 ; move max 8 pixels this step
    ble .sfu1
    move.w PanSpeed,d6
    sub.w #8,d6
    .sfu1
    jsr scroll_field_up
    bra .panx
    .pand
    move.w PanSpeed,d5
    sub.w #8,d5
    cmp.w d5,d6
    * cmp.w PanSpeed,d6
    ble .sfd1
    move.w PanSpeed,d6
    sub.w #8,d6
    .sfd1 jsr scroll_field_down

    .panx
    move.w d0,d6 ;get ball x
    sub.w Map_ULC_X,d6
    beq .done
    bge .panr
    neg.w d6
    cmp.w PanSpeed,d6
    ble .sfl1
    move.w PanSpeed,d6
    .sfl1
    jsr scroll_field_left
    bra .done
    .panr
    cmp.w PanSpeed,d6
    ble .sfr1
    move.w PanSpeed,d6
    .sfr1
    jsr scroll_field_right

    .done rts



    ScrollXY
    movem.l d6/a1,-(sp)
    lea.l vtentity,a1
    move.w VTy(a1),d6
    sub.w #16,d6
    add.w Map_Center_Y,D6
    sub.w #110,d6
    sub.w Map_ULC_Y,d6 ; Targy - MapULCY = distanceY
    beq .panx
    bgt .pand ; if positive pan down
    neg.w d6 ; distanceY = abs(distanceY)
    move.w PanSpeed,d5
    sub.w #8,d5
    cmp.w d5,d6
    ble .sfu1
    move.w PanSpeed,d6
    sub.w #8,d6
    .sfu1
    jsr scroll_field_up
    bra .panx
    .pand
    move.w PanSpeed,d5
    sub.w #8,d5
    cmp.w d5,d6
    ble .sfd1
    move.w PanSpeed,d6
    sub.w #8,d6
    .sfd1 jsr scroll_field_down

    .panx
    tst.w HScrol</div>

    Of course, it's incomplete (cuts off). But it's a lot, heh.

    Got anymore? :P
     
  2. evilhamwizard

    evilhamwizard

    Researcher
    1,351
    276
    63
    Yay here's some more, this is from Wayne Gretzsky NHLPA All-Stars (GEN):

    <!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='geshimain'><!--eg1--><pre class="asm">CODEPLACE <span style="color: #adadad; font-style: italic;">; PLOTTING SHADOWS!</span>

    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">L</span> <span style="color: #ff0000;">#</span>DUDVAR,<span style="font-weight:bold;">A5</span> <span style="color: #adadad; font-style: italic;">; GET POINTER TO SECTION</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="color: #ff0000;">#</span>DUDCHUNKIND,<span style="font-weight:bold;">D5</span> <span style="color: #adadad; font-style: italic;">; INDEX!</span>

    .PS1
    <span style="color: #00bfff;">TST</span>.<span style="color: #00bfff;">W</span> <span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span> <span style="color: #adadad; font-style: italic;">; CHECK IF PLAYER ON</span>
    <span style="color: #00bfff;">BEQ</span>.<span style="color: #00bfff;">S</span> .NOSHAD
    <span style="color: #00bfff;">TST</span>.<span style="color: #00bfff;">W</span> DUDSHADFR<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    <span style="color: #00bfff;">BEQ</span>.<span style="color: #00bfff;">S</span> .NOSHAD <span style="color: #adadad; font-style: italic;">; SKIP IF NO SHADOW TO PLOT!</span>
    &nbsp;
    <span style="color: #00bfff;">MOVE</span> DUDX<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>,<span style="font-weight:bold;">D0</span>
    <span style="color: #00bfff;">MOVE</span> DUDYS<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>,<span style="font-weight:bold;">D1</span>
    <span style="color: #00bfff;">BEQ</span>.<span style="color: #00bfff;">S</span> .NOSHAD <span style="color: #adadad; font-style: italic;">; IF Y = 0- SKIP HIM</span>

    <span style="color: #00bfff;">LSR</span>.<span style="color: #00bfff;">W</span> <span style="color: #ff0000;">#</span>PSHIFT,<span style="font-weight:bold;">D0</span> <span style="color: #adadad; font-style: italic;">; SAVE Y VALUE OF PUCK!</span>
    <span style="color: #00bfff;">SUB</span> <span style="font-weight:bold;">D2</span>,<span style="font-weight:bold;">D1</span> <span style="color: #adadad; font-style: italic;">; GET POSITION OF PUCK LESS ALTITUDE</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="font-weight:bold;">D1</span>,SPY
    <span style="color: #00bfff;">SUB</span> WINDOWX,<span style="font-weight:bold;">D0</span> <span style="color: #adadad; font-style: italic;">; GET WINDOWY</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="font-weight:bold;">D0</span>,SPX

    <span style="color: #adadad; font-style: italic;">;; MOVE PUCKFR,D0 ; AND PLOT THE PUCKER!</span>
    <span style="color: #adadad; font-style: italic;">;; JSR SAFEVIDEO_PLOT ; GENERAL PLOT TO VIDEO TAPE!</span>
    <span style="color: #adadad; font-style: italic;">; JSR SAFEGENERAL_PLOT</span>
    &nbsp;
    POP <span style="font-weight:bold;">D1</span>
    <span style="color: #00bfff;">TST</span>.<span style="color: #00bfff;">W</span> PERIODOVER <span style="color: #adadad; font-style: italic;">; IF REGULAR PERIOD OVER!</span>
    <span style="color: #00bfff;">BNE</span>.<span style="color: #00bfff;">S</span> .SKIPSHAD

    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="font-weight:bold;">D1</span>,SPY
    <span style="color: #00bfff;">MOVE</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">5</span></span>,<span style="font-weight:bold;">D0</span> <span style="color: #adadad; font-style: italic;">; AND PLOT THE SHADOW!</span>
    <span style="color: #00bfff;">BSR</span> SAFEVIDEO_PLOT <span style="color: #adadad; font-style: italic;">; GENERAL PLOT TO VIDEO TAPE!</span>
    &nbsp;
    .SKIPSHAD
    <span style="color: #00bfff;">RTS</span>
    &nbsp;
    &nbsp;
    XDEF INITDUDELIST
    INITDUDELIST
    <span style="color: #00bfff;">CLR</span>.<span style="color: #00bfff;">W</span> PTEMP

    <span style="color: #00bfff;">MOVE</span> <span style="color: #ff0000;">#</span><span style="">(</span>NUMDUDS<span style="color: #ff0000;">+2</span><span style="">)</span>*<span style="color: #ff0000;">2</span>,<span style="font-weight:bold;">D2</span> <span style="color: #adadad; font-style: italic;">; MAKE BIGGER FOR PUCK AND GOALS....</span>

    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">L</span> <span style="color: #ff0000;">#</span>PLOTDUDELIST,<span style="font-weight:bold;">A1</span> <span style="color: #adadad; font-style: italic;">; GET PLOT LIST!</span>
    .ID2
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> PTEMP,<span style="font-weight:bold;">D0</span>
    <span style="color: #00bfff;">ADD</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">80</span></span>,PTEMP
    <span style="color: #00bfff;">MOVE</span> <span style="font-weight:bold;">D0</span>,<span style="">(</span><span style="font-weight:bold;">A1</span><span style="">)</span>+ <span style="color: #adadad; font-style: italic;">; SAVE WHICH GUY TO PLOT!</span>
    <span style="color: #00bfff;">SUBQ</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,<span style="font-weight:bold;">D2</span> <span style="color: #adadad; font-style: italic;">; ONE LESS GUY!</span>
    <span style="color: #00bfff;">BPL</span>.<span style="color: #00bfff;">S</span> .ID2 <span style="color: #adadad; font-style: italic;">; NOT DONE YET!</span>
    &nbsp;
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFF</span>,<span style="">(</span><span style="font-weight:bold;">A1</span><span style="">)</span>+ <span style="color: #adadad; font-style: italic;">; FLAG FOR END!</span>
    <span style="color: #00bfff;">RTS</span>
    &nbsp;
    &nbsp;
    SORTDUDES
    <span style="color: #adadad; font-style: italic;">; OK- THIS ONE GOES THROUGH DUDES AND JUST REA-ARRANGES THEM ONE AT A TIME...</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">L</span> <span style="color: #ff0000;">#</span>DUDVAR,<span style="font-weight:bold;">A5</span> <span style="color: #adadad; font-style: italic;">; GET POINTER TO SECTION</span>
    &nbsp;
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">w</span> gamenum
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .MAINGAME
    &nbsp;
    <span style="color: #adadad; font-style: italic;">; UHH- HERE CLEAR ALL PUCKX AND THAT SHIT...</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="color: #ff0000;">#</span>LGOALDUD,<span style="font-weight:bold;">D5</span> <span style="color: #adadad; font-style: italic;">; POINT TO LEFT GOAL...</span>
    <span style="color: #00bfff;">CLR</span>.<span style="color: #00bfff;">W</span> DUDYS<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    <span style="color: #00bfff;">CLR</span>.<span style="color: #00bfff;">W</span> DUDFR<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="color: #ff0000;">#</span>RGOALDUD,<span style="font-weight:bold;">D5</span> <span style="color: #adadad; font-style: italic;">; POINT TO LEFT GOAL...</span>
    <span style="color: #00bfff;">CLR</span>.<span style="color: #00bfff;">W</span> DUDYS<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    <span style="color: #00bfff;">CLR</span>.<span style="color: #00bfff;">W</span> DUDFR<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="color: #ff0000;">#</span>PUCKDUD,<span style="font-weight:bold;">D5</span> <span style="color: #adadad; font-style: italic;">; POINT TO LEFT GOAL...</span>
    <span style="color: #00bfff;">CLR</span>.<span style="color: #00bfff;">W</span> DUDYS<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    <span style="color: #00bfff;">CLR</span>.<span style="color: #00bfff;">W</span> DUDFR<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    <span style="color: #00bfff;">BRA</span> .SORTEM
    &nbsp;
    .MAINGAME
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="color: #ff0000;">#</span>LGOALDUD,<span style="font-weight:bold;">D5</span> <span style="color: #adadad; font-style: italic;">; POINT TO LEFT GOAL...</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> GOALX,<span style="font-weight:bold;">D0</span>
    <span style="color: #00bfff;">ASL</span> <span style="color: #ff0000;">#</span>PSHIFT,<span style="font-weight:bold;">D0</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="font-weight:bold;">D0</span>,DUDX<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> GOALY,<span style="font-weight:bold;">D0</span>
    <span style="color: #00bfff;">ASL</span> <span style="color: #ff0000;">#</span>PSHIFT,<span style="font-weight:bold;">D0</span>
    <span style="color: #00bfff;">MOVE</span> <span style="font-weight:bold;">D0</span>,DUDYS<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    <span style="color: #00bfff;">ADD</span> <span style="font-weight:bold;">D0</span>,<span style="font-weight:bold;">D0</span>
    <span style="color: #00bfff;">MOVE</span> <span style="font-weight:bold;">D0</span>,DUDY<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">4</span>,DUDFR<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>

    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="color: #ff0000;">#</span>RGOALDUD,<span style="font-weight:bold;">D5</span> <span style="color: #adadad; font-style: italic;">; POINT TO LEFT GOAL...</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> GOALX<span style="color: #ff0000;">+2</span>,<span style="font-weight:bold;">D0</span>
    <span style="color: #00bfff;">ASL</span> <span style="color: #ff0000;">#</span>PSHIFT,<span style="font-weight:bold;">D0</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="font-weight:bold;">D0</span>,DUDX<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> GOALY<span style="color: #ff0000;">+2</span>,<span style="font-weight:bold;">D0</span>
    <span style="color: #00bfff;">ASL</span> <span style="color: #ff0000;">#</span>PSHIFT,<span style="font-weight:bold;">D0</span>
    <span style="color: #00bfff;">MOVE</span> <span style="font-weight:bold;">D0</span>,DUDYS<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    <span style="color: #00bfff;">ADD</span> <span style="font-weight:bold;">D0</span>,<span style="font-weight:bold;">D0</span>
    <span style="color: #00bfff;">MOVE</span> <span style="font-weight:bold;">D0</span>,DUDY<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">4</span>+FLIP,DUDFR<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    &nbsp;
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="color: #ff0000;">#</span>PUCKDUD,<span style="font-weight:bold;">D5</span> <span style="color: #adadad; font-style: italic;">; POINT TO LEFT GOAL...</span>
    <span style="color: #adadad; font-style: italic;">; MOVE.W #RGOALDUD,D5 ; POINT TO LEFT GOAL...</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> PUCKX,DUDX<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> PUCKY,<span style="font-weight:bold;">D0</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="font-weight:bold;">D0</span>,DUDY<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    &nbsp;
    <span style="color: #00bfff;">SUB</span>.<span style="color: #00bfff;">W</span> PUCKA,<span style="font-weight:bold;">D0</span> <span style="color: #adadad; font-style: italic;">; TAKE OFF ALTITUDE!</span>
    <span style="color: #00bfff;">LSR</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">D0</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="font-weight:bold;">D0</span>,DUDYS<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> PUCKFR,DUDFR<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>

    &nbsp;
    .SORTEM
    <span style="color: #adadad; font-style: italic;">; ANYWAYS SORT THE DAMN THING...</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">L</span> <span style="color: #ff0000;">#</span>PLOTDUDELIST,<span style="font-weight:bold;">A1</span> <span style="color: #adadad; font-style: italic;">; GET PLOT LIST!</span>
    .SDL
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="">(</span><span style="font-weight:bold;">A1</span><span style="">)</span>,<span style="font-weight:bold;">D5</span> <span style="color: #adadad; font-style: italic;">; GET GUY....</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="color: #ff0000;">2</span><span style="">(</span><span style="font-weight:bold;">A1</span><span style="">)</span>,<span style="font-weight:bold;">D4</span> <span style="color: #adadad; font-style: italic;">; GET OTHER GUY!</span>
    <span style="color: #00bfff;">BMI</span>.<span style="color: #00bfff;">S</span> .SWAPDONE <span style="color: #adadad; font-style: italic;">; OK- DONE...</span>

    <span style="color: #00bfff;">MOVE</span> DUDY<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D5</span><span style="">)</span>,<span style="font-weight:bold;">D0</span>
    <span style="color: #00bfff;">CMP</span> DUDY<span style="">(</span><span style="font-weight:bold;">A5</span>,<span style="font-weight:bold;">D4</span><span style="">)</span>,<span style="font-weight:bold;">D0</span>
    BHS .NOSWAP <span style="color: #adadad; font-style: italic;">; equal no swap!</span>

    <span style="color: #adadad; font-style: italic;">; WOW! SWAP THEM!</span>
    <span style="color: #00bfff;">MOVE</span> <span style="font-weight:bold;">D4</span>,<span style="">(</span><span style="font-weight:bold;">A1</span><span style="">)</span>
    <span style="color: #00bfff;">MOVE</span> <span style="font-weight:bold;">D5</span>,<span style="color: #ff0000;">2</span><span style="">(</span><span style="font-weight:bold;">A1</span><span style="">)</span>
    &nbsp;
    .NOSWAP
    <span style="color: #00bfff;">ADDQ</span>.<span style="color: #00bfff;">L</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,<span style="font-weight:bold;">A1</span> <span style="color: #adadad; font-style: italic;">; GO TO NEXT...</span>
    <span style="color: #00bfff;">BRA</span> .SDL
    &nbsp;
    .SWAPDONE
    <span style="color: #00bfff;">RTS</span>
    &nbsp;
    &nbsp;
    <span style="color: #adadad; font-style: italic;">; END OF FILE</span>
    <span style="color: #adadad; font-style: italic;">; COACH.A -</span>
    <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #adadad; font-style: italic;">; HANDLES PAUSED OPTIONS AND COACHING OPTIONS DURING GAMEPLAY!</span>
    &nbsp;
    OPT NOABSPCADD,E,NOCASE
    <span style="color: #00CC66;">NAME</span> FLUFF
    &nbsp;
    <span style="color: #adadad; font-style: italic;">; SO LINE CHANGE CAN BE CALLED FROM COACHING SCREEN!</span>
    &nbsp;
    &nbsp;
    &nbsp;
    <span style="color: #00CC66;">INCLUDE</span> <span style="color: #00bfff;">S</span>:ASM.INC
    <span style="color: #00CC66;">INCLUDE</span> <span style="color: #00bfff;">S</span>:DMA.INC
    <span style="color: #00CC66;">INCLUDE</span> <span style="color: #00bfff;">S</span>:SOUNDS.INC

    SECTION <span style="color: #00CC66;">CODE</span>,,C
    &nbsp;

    XREF _gemspauseall
    XREF _gemsresumeall
    &nbsp;
    XREF SAVELINES <span style="color: #adadad; font-style: italic;">; OK- SAVE THE LINES </span>
    XREF CLEARRVSCREEN
    XREF CLEARLVSCREEN

    XREF FROMCOACHLINE0
    XREF FROMCOACHLINE1
    &nbsp;
    XREF SETSTATS
    XREF CLEARMOSTVSCREEN
    XREF CLEARVSCREEN
    XREF CLEARSCREENA
    XREF CLEARSCREENB
    XREF SETALLPAL</pre><!--gc2--><!--Q09ERVBMQUNFICAgICAgOyBQTE9UVElORyBTSEFET1dTJiMzMzsKICAgICAgICAgICAgICAgICAgICAg
    ICAgICAgICAgICAKIE1PVkUuTCAjRFVEVkFSLEE1ICAgICAgOyBHRVQgUE9JTlRFUiBUTyBTRUNUSU9OC
    iBNT1ZFLlcgI0RVRENIVU5LSU5ELEQ1ICAgICAgICAgOyBJTkRFWCYjMzM7CiAgICAgICAgICAgICAgIC
    AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi5QUzEKIFRTVC5XIChBNSxENSk
    gICAgICAgICAgICAgICAgICA7IENIRUNLIElGIFBMQVlFUiBPTgogQkVRLlMgLk5PU0hBRAogVFNULlcg
    RFVEU0hBREZSKEE1LEQ1KQogQkVRLlMgLk5PU0hBRCAgICAgICAgICAgICAgICAgIDsgU0tJUCBJRiBOT
    yBTSEFET1cgVE8gUExPVCYjMzM7CgogTU9WRSBEVURYKEE1LEQ1KSxEMAogTU9WRSBEVURZUyhBNSxENS
    ksRDEKIEJFUS5TIC5OT1NIQUQgICAgICAgICAgOyBJRiBZID0gMC0gU0tJUCBISU0KICAgICAgICAKIEx
    TUi5XCSNQU0hJRlQsRDAgICAgICAgICAgICAgOyBTQVZFIFkgVkFMVUUgT0YgUFVDSyYjMzM7CiAgICAg
    ICAgU1VCIEQyLEQxICAgICAgICAgICAgICAgOyBHRVQgUE9TSVRJT04gT0YgUFVDSyBMRVNTIEFMVElUV
    URFCiAgICAgICAgTU9WRS5XIEQxLFNQWSAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIF
    NVQiBXSU5ET1dYLEQwICAgICAgICA7IEdFVCBXSU5ET1dZCiAgICAgICAgTU9WRS5XIEQwLFNQWAogICA
    gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkgICAgICAgICAg
    ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjs7ICAgI
    CAgICBNT1ZFIFBVQ0tGUixEMCAgICAgICAgICAgICAgOyBBTkQgUExPVCBUSEUgUFVDS0VSJiMzMzsKOz
    sgICAgICAgICBKU1IgU0FGRVZJREVPX1BMT1QgICAgICAgICAgICAgICAgIDsgR0VORVJBTCBQTE9UIFR
    PIFZJREVPIFRBUEUmIzMzOwo7ICAgICAgICBKU1IgU0FGRUdFTkVSQUxfUExPVAoKICAgICAgICBQT1Ag
    RDEgICAgICAgICAgICAgICAgICAKICAgICAgICBUU1QuVyBQRVJJT0RPVkVSICAgICAgICA7IElGIFJFR
    1VMQVIgUEVSSU9EIE9WRVImIzMzOwogICAgICAgIEJORS5TIC5TS0lQU0hBRAogICAgICAgICAgICAgIC
    AgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgTU9WRS5XIEQxLFNQWQogICAgICAgIE1PVkU
    gIyYjMDM2OzUsRDAgICAgICAgICAgICAgIDsgQU5EIFBMT1QgVEhFIFNIQURPVyYjMzM7CiAgICAgICAg
    QlNSIFNBRkVWSURFT19QTE9UICAgICAgICAgICAgICAgICA7IEdFTkVSQUwgUExPVCBUTyBWSURFTyBUQ
    VBFJiMzMzsKCi5TS0lQU0hBRCAgICAgICAgICAgICAgIAogICAgICAgIFJUUyAgCgoKIFhERUYgSU5JVE
    RVREVMSVNUCklOSVREVURFTElTVAogQ0xSLlcgUFRFTVAKICAgICAgICAgICAgICAgICAgICAgICAgICA
    gICAgICAgICAgICAgICAgICAgICAgCiBNT1ZFICMoTlVNRFVEUysyKSoyLEQyICAgICAgICAgOyBNQUtF
    IEJJR0dFUiAgRk9SIFBVQ0sgQU5EIEdPQUxTLi4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAKI
    E1PVkUuTCAjUExPVERVREVMSVNULEExICAgICAgICA7IEdFVCBQTE9UIExJU1QmIzMzOwouSUQyCiBNT1
    ZFLlcgUFRFTVAsRDAKIEFERCAjJiMwMzY7ODAsUFRFTVAKIE1PVkUgRDAsKEExKSsgICAgICAgICAgICA
    gICAgICA7IFNBVkUgV0hJQ0ggR1VZIFRPIFBMT1QmIzMzOwogU1VCUSAjMixEMiAgICAgICAgICAgICAg
    ICAgICAgIDsgT05FIExFU1MgR1VZJiMzMzsKIEJQTC5TIC5JRDIgICAgICAgICAgICAgICAgICAgICAgO
    yBOT1QgRE9ORSBZRVQmIzMzOwoKIE1PVkUuVyAjJiMwMzY7RkZGRiwoQTEpKyAgICAgICAgICAgIDsgRk
    xBRyBGT1IgRU5EJiMzMzsKIFJUUwoKClNPUlREVURFUwo7IE9LLSBUSElTIE9ORSBHT0VTIFRIUk9VR0g
    gRFVERVMgQU5EIEpVU1QgUkVBLUFSUkFOR0VTIFRIRU0gT05FIEFUIEEgVElNRS4uLgogTU9WRS5MICNE
    VURWQVIsQTUgICAgICA7IEdFVCBQT0lOVEVSIFRPIFNFQ1RJT04KCiB0c3QudyBnYW1lbnVtCiBiZXEuc
    yAuTUFJTkdBTUUKCjsgVUhILSBIRVJFIENMRUFSIEFMTCBQVUNLWCBBTkQgVEhBVCBTSElULi4uCiBNT1
    ZFLlcgI0xHT0FMRFVELEQ1ICAgICAgICAgICAgOyBQT0lOVCBUTyBMRUZUIEdPQUwuLi4KIENMUi5XIER
    VRFlTKEE1LEQ1KQogQ0xSLlcgRFVERlIoQTUsRDUpCiBNT1ZFLlcgI1JHT0FMRFVELEQ1ICAgICAgICAg
    ICAgOyBQT0lOVCBUTyBMRUZUIEdPQUwuLi4KIENMUi5XIERVRFlTKEE1LEQ1KQogQ0xSLlcgRFVERlIoQ
    TUsRDUpCiBNT1ZFLlcgI1BVQ0tEVUQsRDUgICAgICAgICAgICA7IFBPSU5UIFRPIExFRlQgR09BTC4uLg
    ogQ0xSLlcgRFVEWVMoQTUsRDUpCiBDTFIuVyBEVURGUihBNSxENSkKIEJSQSAuU09SVEVNCgouTUFJTkd
    BTUUKIE1PVkUuVyAjTEdPQUxEVUQsRDUgICAgICAgICAgICA7IFBPSU5UIFRPIExFRlQgR09BTC4uLgog
    TU9WRS5XIEdPQUxYLEQwCiBBU0wgI1BTSElGVCxEMAogTU9WRS5XIEQwLERVRFgoQTUsRDUpCiBNT1ZFL
    lcgR09BTFksRDAKIEFTTCAjUFNISUZULEQwCiBNT1ZFIEQwLERVRFlTKEE1LEQ1KQogQUREIEQwLEQwCi
    BNT1ZFIEQwLERVRFkoQTUsRDUpCiBNT1ZFLlcgIzQsRFVERlIoQTUsRDUpCiAgICAgICAgICAgICAgICA
    gICAgICAKIE1PVkUuVyAjUkdPQUxEVUQsRDUgICAgICAgICAgICA7IFBPSU5UIFRPIExFRlQgR09BTC4u
    LgogTU9WRS5XIEdPQUxYKzIsRDAKIEFTTCAjUFNISUZULEQwCiBNT1ZFLlcgRDAsRFVEWChBNSxENSkKI
    E1PVkUuVyBHT0FMWSsyLEQwCiBBU0wgI1BTSElGVCxEMAogTU9WRSBEMCxEVURZUyhBNSxENSkKIEFERC
    BEMCxEMAogTU9WRSBEMCxEVURZKEE1LEQ1KQogTU9WRS5XICM0K0ZMSVAsRFVERlIoQTUsRDUpCgogTU9
    WRS5XICNQVUNLRFVELEQ1ICAgICAgICAgICAgOyBQT0lOVCBUTyBMRUZUIEdPQUwuLi4KOyBNT1ZFLlcg
    I1JHT0FMRFVELEQ1ICAgICAgICAgICAgOyBQT0lOVCBUTyBMRUZUIEdPQUwuLi4KIE1PVkUuVyBQVUNLW
    CxEVURYKEE1LEQ1KQogTU9WRS5XIFBVQ0tZLEQwCiBNT1ZFLlcgRDAsRFVEWShBNSxENSkKCiBTVUIuVy
    BQVUNLQSxEMCAgICAgICAgICAgICAgICAgOyBUQUtFIE9GRiBBTFRJVFVERSYjMzM7CiBMU1IgIzEsRDA
    KIE1PVkUuVyBEMCxEVURZUyhBNSxENSkKIE1PVkUuVyBQVUNLRlIsRFVERlIoQTUsRDUpCiAgICAgICAg
    ICAgICAgICAKCi5TT1JURU0gICAgICAgIAo7IEFOWVdBWVMgU09SVCBUSEUgREFNTiBUSElORy4uLgogT
    U9WRS5MICNQTE9URFVERUxJU1QsQTEgICAgICAgIDsgR0VUIFBMT1QgTElTVCYjMzM7Ci5TREwKIE1PVk
    UuVyAoQTEpLEQ1ICAgICAgICAgICAgICAgICA7IEdFVCBHVVkuLi4uCiBNT1ZFLlcgMihBMSksRDQgICA
    gICAgICAgICAgICAgOyBHRVQgT1RIRVIgR1VZJiMzMzsKIEJNSS5TIC5TV0FQRE9ORSAgICAgICAgICAg
    ICAgICAgICAgIDsgT0stIERPTkUuLi4KICAgICAgICAKIE1PVkUgRFVEWShBNSxENSksRDAKIENNUCBEV
    URZKEE1LEQ0KSxEMAogQkhTIC5OT1NXQVAgICAgICAgICAgICA7IGVxdWFsIG5vIHN3YXAmIzMzOwogIC
    AgICAgICAgICAgICAgICAgICAgICAKOyBXT1cmIzMzOyBTV0FQIFRIRU0mIzMzOwogTU9WRSBENCwoQTE
    pCiBNT1ZFIEQ1LDIoQTEpCgouTk9TV0FQCiBBRERRLkwgIzIsQTEgICAgICAgICAgICAgICAgICAgICA7
    IEdPIFRPIE5FWFQuLi4KIEJSQSAuU0RMCgouU1dBUERPTkUKIFJUUwoKCjsgRU5EIE9GIEZJTEUKOyBDT
    0FDSC5BICAgICAgIC0KOwo7CjsgICAgICAgSEFORExFUyBQQVVTRUQgT1BUSU9OUyBBTkQgQ09BQ0hJTk
    cgT1BUSU9OUyBEVVJJTkcgR0FNRVBMQVkmIzMzOwogCglPUFQJTk9BQlNQQ0FERCxFLE5PQ0FTRQoJTkF
    NRQlGTFVGRgoKOyBTTyBMSU5FIENIQU5HRSBDQU4gQkUgQ0FMTEVEIEZST00gQ09BQ0hJTkcgU0NSRUVO
    JiMzMzsKCgoKIElOQ0xVREUgUzpBU00uSU5DCiBJTkNMVURFIFM6RE1BLklOQwogSU5DTFVERSBTOlNPV
    U5EUy5JTkMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoJU0VDVElPTiBDT0RFLCxDCgogIC
    AgICAgIAogICAgIFhSRUYgX2dlbXNwYXVzZWFsbAogICAgIFhSRUYgX2dlbXNyZXN1bWVhbGwKCiBYUkV
    GIFNBVkVMSU5FUyAgICAgICAgICAgICAgICAgIDsgT0stIFNBVkUgVEhFIExJTkVTICAgICAgIAogWFJF
    RiBDTEVBUlJWU0NSRUVOCiBYUkVGIENMRUFSTFZTQ1JFRU4KICAgICAgICAgICAgICAgICAgICAgICAgI
    CAgICAgICAgICAgICAgCiBYUkVGIEZST01DT0FDSExJTkUwCiBYUkVGIEZST01DT0FDSExJTkUxCgogIC
    AgICAgIFhSRUYgU0VUU1RBVFMKICAgICAgICBYUkVGIENMRUFSTU9TVFZTQ1JFRU4gICAgICAgICAgICA
    gICAgICAgICAgICAKICAgICAgICBYUkVGIENMRUFSVlNDUkVFTiAgICAgICAgICAgICAgICAgICAgICAg
    IAogICAgICAgIFhSRUYgQ0xFQVJTQ1JFRU5BCiAgICAgICAgWFJFRiBDTEVBUlNDUkVFTkIKICAgICAgI
    CBYUkVGIFNFVEFMTFBBTA==--><!--egc2--><!--g2--></div><!--eg2-->

    Here's some more from the same game:

    <!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='geshimain'><!--eg1--><pre class="asm">MYIFL <span style="color: #00CC66;">MACRO</span> P1,P2,P3
    <span style="color: #00bfff;">CMP</span>.<span style="color: #00bfff;">W</span> P2,P1
    BLO.<span style="color: #00bfff;">S</span> P3
    <span style="color: #00CC66;">ENDM</span>
    &nbsp;

    <span style="color: #adadad; font-style: italic;">;/* LONG JUMP IF LESS */</span>
    MYIFLL <span style="color: #00CC66;">MACRO</span> P1,P2,P3
    <span style="color: #00bfff;">CMP</span>.<span style="color: #00bfff;">W</span> P2,P1
    BLO P3
    <span style="color: #00CC66;">ENDM</span>

    <span style="color: #adadad; font-style: italic;">; IF LESS THAN! */</span>
    MYIFLE <span style="color: #00CC66;">MACRO</span> P1,P2,P3
    <span style="color: #00bfff;">CMP</span>.<span style="color: #00bfff;">W</span> P2,P1
    <span style="color: #00bfff;">BLS</span>.<span style="color: #00bfff;">S</span> P3
    <span style="color: #00CC66;">ENDM</span>
    &nbsp;
    <span style="color: #adadad; font-style: italic;">; DOES A QUICKY COMPARISON! */</span>
    MYIFG <span style="color: #00CC66;">MACRO</span> P1,P2,P3
    <span style="color: #00bfff;">CMP</span>.<span style="color: #00bfff;">W</span> P2,P1
    <span style="color: #00bfff;">BHI</span>.<span style="color: #00bfff;">S</span> P3
    <span style="color: #00CC66;">ENDM</span>

    MYIFGL <span style="color: #00CC66;">MACRO</span> P1,P2,P3
    <span style="color: #00bfff;">CMP</span>.<span style="color: #00bfff;">W</span> P2,P1
    <span style="color: #00bfff;">BHI</span> P3
    <span style="color: #00CC66;">ENDM</span>
    &nbsp;
    MYIFGE <span style="color: #00CC66;">MACRO</span> P1,P2,P3
    <span style="color: #00bfff;">CMP</span>.<span style="color: #00bfff;">W</span> P2,P1
    BHS.<span style="color: #00bfff;">S</span> P3
    <span style="color: #00CC66;">ENDM</span>

    MYIFNE <span style="color: #00CC66;">MACRO</span> P1,P2,P3
    <span style="color: #00bfff;">CMP</span>.<span style="color: #00bfff;">W</span> P2,P1
    <span style="color: #00bfff;">BNE</span>.<span style="color: #00bfff;">S</span> P3
    <span style="color: #00CC66;">ENDM</span>
    &nbsp;
    &nbsp;
    BOXCHECK <span style="color: #00CC66;">MACRO</span> X,Y,LEFT,RIGHT,TOP,BOTTOM
    <span style="color: #00CC66;">LOCAL</span> .NOTHIT,.BCDONE
    MYIFL X,LEFT,.NOTHIT
    MYIFG X,RIGHT,.NOTHIT
    MYIFL Y,TOP,.NOTHIT
    MYIFG Y,BOTTOM,.NOTHIT
    SETEQ
    <span style="color: #00bfff;">BRA</span>.<span style="color: #00bfff;">S</span> .BCDONE
    .NOTHIT
    SETNE
    .BCDONE
    <span style="color: #00CC66;">ENDM</span>
    &nbsp;
    &nbsp;
    &nbsp;
    &nbsp;
    &nbsp;

    RANGERLH <span style="color: #00CC66;">MACRO</span> REG,<span style="color: #00CC66;">LOW</span>,<span style="color: #00CC66;">HIGH</span>
    <span style="color: #00CC66;">LOCAL</span> L1,L2
    &nbsp;
    <span style="color: #adadad; font-style: italic;">; CHECKS IF SOMETHING IN RANGE!</span>
    IFL <span style="color: #00CC66;">LOW</span>,REG,L1 <span style="color: #adadad; font-style: italic;">; IF WAY PAST THEN WRAPPED UNDER- NOT NEGATIVE!</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="color: #00CC66;">LOW</span>,REG <span style="color: #adadad; font-style: italic;">; IF SO, STOP!</span>
    <span style="color: #00bfff;">BRA</span>.<span style="color: #00bfff;">S</span> L2 <span style="color: #adadad; font-style: italic;">; WHY NEEDED?</span>

    L1:
    IFG <span style="color: #00CC66;">HIGH</span>,REG,L2 <span style="color: #adadad; font-style: italic;">; IS IT LOWER THAN BOTTOM THEN KOSHER!?</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> <span style="color: #00CC66;">HIGH</span>,REG</pre><!--gc2--><!--TVlJRkwgTUFDUk8gUDEsUDIsUDMKICAgICAgICAgQ01QLlcgUDIsUDEKICAgICAgICAgQkxPLlMgUDMg
    ICAgICAgICAKICAgICBFTkRNICAgICAgICAgICAgICAgCgogICAgICAgIAo7LyogTE9ORyBKVU1QIElGI
    ExFU1MgKi8KTVlJRkxMIE1BQ1JPIFAxLFAyLFAzCiAgICAgICAgIENNUC5XIFAyLFAxCiAgICAgICAgIE
    JMTyBQMyAgICAgICAgIAogICAgIEVORE0gICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA
    gICAgICAgICAgICAKOyBJRiBMRVNTIFRIQU4mIzMzOyAqLwpNWUlGTEUgTUFDUk8gUDEsUDIsUDMKICAg
    ICAgICAgQ01QLlcgUDIsUDEKICAgICAgICAgQkxTLlMgUDMgICAgICAgICAKICAgICBFTkRNICAgICAgI
    CAgICAgICAgCgo7IERPRVMgQSBRVUlDS1kgQ09NUEFSSVNPTiYjMzM7ICovCk1ZSUZHIE1BQ1JPIFAxLF
    AyLFAzCiAgICAgICAgIENNUC5XIFAyLFAxCiAgICAgICAgIEJISS5TIFAzICAgICAgICAgCiAgICAgRU5
    ETSAgICAgICAgICAgICAgIAogICAgICAgICAgCk1ZSUZHTCBNQUNSTyBQMSxQMixQMwogICAgICAgICBD
    TVAuVyBQMixQMQogICAgICAgICBCSEkgUDMgICAgICAgICAKICAgICBFTkRNICAgICAgICAgICAgICAgC
    gpNWUlGR0UgTUFDUk8gUDEsUDIsUDMKICAgICAgICAgQ01QLlcgUDIsUDEKICAgICAgICAgQkhTLlMgUD
    MKICAgICBFTkRNICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIApNWUlGTkUgTUFDUk8gUDE
    sUDIsUDMKICAgICAgICAgQ01QLlcgUDIsUDEKICAgICAgICAgQk5FLlMgUDMgICAgICAgICAKICAgICBF
    TkRNICAgICAgICAgICAgICAgCgoKQk9YQ0hFQ0sgTUFDUk8gWCxZLExFRlQsUklHSFQsVE9QLEJPVFRPT
    QogTE9DQUwgLk5PVEhJVCwuQkNET05FCiBNWUlGTCBYLExFRlQsLk5PVEhJVAogTVlJRkcgWCxSSUdIVC
    wuTk9USElUCiBNWUlGTCBZLFRPUCwuTk9USElUCiBNWUlGRyBZLEJPVFRPTSwuTk9USElUCiBTRVRFUQo
    gQlJBLlMgLkJDRE9ORQouTk9USElUCiBTRVRORQouQkNET05FCiBFTkRNCgoKCgoKICAgICAgICAgICAg
    ICAgICAgICAgICAgICAgICAgICAgClJBTkdFUkxIIE1BQ1JPIFJFRyxMT1csSElHSAogTE9DQUwgTDEsT
    DIKCjsgQ0hFQ0tTIElGIFNPTUVUSElORyBJTiBSQU5HRSYjMzM7CiBJRkwgTE9XLFJFRyxMMSAgICAgIC
    AgICA7IElGIFdBWSBQQVNUIFRIRU4gV1JBUFBFRCBVTkRFUi0gTk9UIE5FR0FUSVZFJiMzMzsKIE1PVkU
    uVyBMT1csUkVHICAgICAgICAgICA7IElGIFNPLCBTVE9QJiMzMzsKIEJSQS5TIEwyICAgICAgICAgICAg
    ICAgICAgOyBXSFkgTkVFREVEPwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
    CAgIApMMTogICAgICAgICAgICAgICAgICAgIAogSUZHIEhJR0gsUkVHLEwyICAgICAgIDsgSVMgSVQgTE
    9XRVIgVEhBTiBCT1RUT00gIFRIRU4gS09TSEVSJiMzMzs/CiBNT1ZFLlcJSElHSCxSRUc=--><!--egc2--><!--g2--></div><!--eg2-->
     
  3. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    18,314
    409
    63
    Berkshire, England
    Learning Cymraeg
    Code (Text):
    1. ; UHH- HERE CLEAR ALL PUCKX AND THAT SHIT...
    Man, these guys are just as professional with their commenting as I am =P
     
  4. evilhamwizard

    evilhamwizard

    Researcher
    1,351
    276
    63
    Huge amount of source code for Dragon's Lair (EU) NES (aka the terrible game that AVGN reviewed a few years back):

    <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>;--------------------------------------

    B3B_END
    IF B3B_END>$BFFF
    PRINTF "**** BANK $3B too long !! ****"
    ENDIF


    ; End of bank $3A/$3B
    ; --- -- ---- -------

    ;======================================

    ; Start of bank $39
    ; ----- -- ---- ---

    ORG $139,$A000

    ;--------------------------------------
    ; Sprite attribute tables
    ; ------ --------- ------

    SPR3_ATAB_L
    DL A_B0
    DL A_B1
    DL A_B2
    DL A_B3
    DL A_B4
    DL A_B5
    DL A_B6
    DL A_B7
    DL A_B8
    DL A_B9
    DL A_B10
    DL A_B11
    DL A_B12
    DL A_B13
    DL A_B14
    DL A_B15
    DL A_B16
    DL A_B17
    DL A_B18
    DL A_B19
    DL A_B20
    DL A_B21
    DL A_B22
    DL A_B23
    DL A_B24
    DL A_B25
    DL A_B26
    DL A_B27
    DL A_B28
    DL A_B29
    DL A_B30
    DL A_B31
    DL A_B32
    DL A_B33

    SPR3_ATAB_H
    DH A_B0
    DH A_B1
    DH A_B2
    DH A_B3
    DH A_B4
    DH A_B5
    DH A_B6
    DH A_B7
    DH A_B8
    DH A_B9
    DH A_B10
    DH A_B11
    DH A_B12
    DH A_B13
    DH A_B14
    DH A_B15
    DH A_B16
    DH A_B17
    DH A_B18
    DH A_B19
    DH A_B20
    DH A_B21
    DH A_B22
    DH A_B23
    DH A_B24
    DH A_B25
    DH A_B26
    DH A_B27
    DH A_B28
    DH A_B29
    DH A_B30
    DH A_B31
    DH A_B32
    DH A_B33

    A_B0 DS 34,2
    DS 22,1
    DS 8,0
    A_B1 DS 31,2
    DS 24,1
    DS 9,0
    A_B2 DS 34,2
    DS 25,1
    DS 5,0
    A_B3 DS 21,2
    DS 16,1
    DS 7,2
    DS 8,1
    DS 12,0
    A_B4 DS 9,2
    DS 12,1
    DS 1,0
    DS 18,2
    DS 24,1
    A_B5 DS 28,2
    DS 31,1
    DS 5,0
    A_B6 DS 31,2
    DS 21,1
    DS 12,0
    A_B7 DS 28,2
    DS 23,1
    DS 13,0
    A_B8 DS 9,2
    DS 15,1
    DS 1,0
    DS 24,2
    DS 15,1
    A_B9 DS 37,2
    DS 20,1
    DS 7,0
    A_B10 DS 14,2
    DS 10,1
    DS 40,0
    A_B11 DS 25,0
    DS 11,2
    DS 25,1
    DS 3,0
    A_B12 DS 15,2
    DS 36,1
    DS 13,0
    A_B13 DS 9,2
    DS 17,1
    DS 1,0
    DS 16,2
    DS 21,1
    A_B14 DS 31,2
    DS 31,1
    DS 2,0
    A_B15 DS 9,2
    DS 13,1
    DS 1,0
    DS 18,2
    DS 23,1
    A_B16 DS 29,2
    DS 32,1
    DS 3,0
    A_B17 DS 12,2
    DS 17,1
    DS 1,0
    DS 8,2
    DS 22,1
    DS 4,0
    A_B18 DS 13,0
    DS 6,1
    DS 45,0
    A_B19 DS 18,0
    DS 2,1
    DS 34,3
    DS 10,1
    A_B20 DS 52,3
    DS 12,1
    A_B21 DS 64,0
    A_B22 DS 46,1
    DS 18,0
    A_B23 DS 11,0
    DS 20,1
    DS 10,2
    DS 23,3
    A_B24 DS 25,0
    DS 23,3
    DS 16,0
    A_B26 DS 58,0
    DS 6,1
    A_B33
    A_B27 DS 64,1
    A_B28 DS 15,3
    DS 17,0
    DS 32,1
    A_B29 DS 11,0
    DS 20,2
    DS 33,3
    A_B30 DS 18,3
    DS 46,0
    A_B31
    A_B25 DS 64,3
    A_B32 DS 32,2
    DS 23,1
    DS 9,0

    ;--------------------------------------

    ; Gold bonus screen
    ; ---- ----- ------

    ; IN
    ; --
    ; A = 0-No bonus , 1-Normal bonus , 2-Big bonus

    G_BONUS1
    TAX
    BNE !1 ;No bonus
    RTS
    !1
    LDA #3 ;Preload with start adding to
    DEX ;10's digit.
    BEQ !2
    LDA #2 ;Change to adding to 100's
    !2 ;digit.
    STA ZPAGE_BYTE9 ;Store which digit to start
    ;adding to.

    LDA PL_GOLD
    ORA PL_GOLD+1 ;Don't do gold bonus if no
    ORA PL_GOLD+2 ;gold.
    CMP #246
    BNE !3
    RTS
    !3

    LDA #0
    STA N_COLAP_CHR
    STA N_BONUS_FLAG

    JSR SET_S0

    LDA #128 ;Stop music
    JSR START_TUNE

    JSR DISABLE_NC

    LDA #GR_1ST+24 ;Background bank for chrs
    STA N_BG_BANK1
    LDA #GR_1ST+24+2
    STA N_BG_BANK2

    LDA #PAL_1
    JSR CLS

    LDA #21 ;'GOLD BONUS'
    JSR DRAW_SCR39

    JSR D_GB ;Draw gold bars

    JSR ENABLE_CN

    LDA #$FF
    STA CDF_A1+1

    JSR SPR_CLEAR ;All sprite off screen
    LDA #39 ;Put on split CHR
    STA $200 ;Y
    LDA #64
    STA $201 ;Character
    LDA #BIT5
    STA $202 ;Ctr
    LDA #16
    STA $203 ;X
    LDA #1
    STA N_DMA_FLAG
    WAIT_FRAME

    JSR ENABLE_SPR

    LDX #0
    JSR FADE_IN

    LDX #20 ;Wait before starting
    JSR M_WAIT_FRAME

    LDY #>SCR_START+(32*16)+10-2
    LDX #<SCR_START+(32*16)+10-2
    LDA PL_GOLD+2 ;1's of gold
    JSR GB_R
    LDY #>SCR_START+(32*20)+10-2
    LDX #<SCR_START+(32*20)+10-2
    LDA PL_GOLD+1 ;10's of gold
    JSR GB_R
    LDY #>SCR_START+(32*24)+10-2
    LDX #<SCR_START+(32*24)+10-2
    LDA PL_GOLD ;100's of gold
    JSR GB_R


    LDX #80 ;Wait before exiting
    JSR M_WAIT_FRAME

    LDX #0
    JSR FADE_OUT

    RTS

    ;------------------

    ; Draw gold bonus bars

    D_GB
    LDA #13 ;X1,X10,X100
    JSR PR_STR_TAB
    LDA #14
    JSR PR_STR_TAB
    LDA #15
    JSR PR_STR_TAB

    LDY #>SCR_START+(32*16)+10
    LDX #<SCR_START+(32*16)+10
    LDA PL_GOLD+2 ;1's of gold
    JSR GB_D
    LDY #>SCR_START+(32*20)+10
    LDX #<SCR_START+(32*20)+10
    LDA PL_GOLD+1 ;10's of gold
    JSR GB_D
    LDY #>SCR_START+(32*24)+10
    LDX #<SCR_START+(32*24)+10
    LDA PL_GOLD ;100's of gold
    JSR GB_D

    RTS

    ;------------------

    ; Draw a highlighted bar

    ; IN
    ; --
    ; X - LSB Screen address of bar left
    ; Y - MSB Screen address of bar left
    ; A = Number in bar

    GB_D
    PHA
    LDA #0
    STA ZPAGE_BYTE11
    PLA

    SEC
    SBC #246
    STA ZPAGE_BYTE10 ;Number highlighted
    BEQ !1

    LDA #PAL_1
    STA PR_ATTR

    ; Draw highlighted ones

    !2 JSR D_G2X2
    INC ZPAGE_BYTE11 ;Number drawn
    DEC ZPAGE_BYTE10
    BNE !2


    ; Draw unhighlighted ones

    !1
    LDA #PAL_3
    STA PR_ATTR

    !4 LDA ZPAGE_BYTE11
    CMP #10
    BNE !3
    RTS
    !3 JSR D_G2X2
    INC ZPAGE_BYTE11
    JMP !4


    ; Draw a gold 2x2
    ; ---- - ---- ---

    D_G2X2
    STX ZPAGE_WORD1
    STY ZPAGE_WORD1+1

    ; Set attribute
    LDA PR_ATTR
    JSR SET_SCR_ATTR ;Set attribute for quad

    LDX ZPAGE_WORD1
    LDY ZPAGE_WORD1+1
    ; Draw top line
    STY VDP_VRAM_PTR
    STX VDP_VRAM_PTR

    LDA #$69
    STA VDP_VRAM_DATA
    LDA #$6A
    STA VDP_VRAM_DATA

    ; Downline and draw second line
    TXA
    CLC
    ADC #32
    TAX
    BCC !1
    INY
    !1 STY VDP_VRAM_PTR
    STX VDP_VRAM_PTR

    LDA #$6B
    STA VDP_VRAM_DATA
    LDA #$6C
    STA VDP_VRAM_DATA

    LDX ZPAGE_WORD1
    LDY ZPAGE_WORD1+1
    INX
    INX

    RTS

    ;------------------
    ; Clear a bar

    ; IN
    ; --
    ; X - LSB Screen address of bar left
    ; Y - MSB Screen address of bar left
    ; A - Number in bar to start with

    GB_R

    SEC
    SBC #246
    STA ZPAGE_BYTE10
    STY ZPAGE_WORD11+1
    STX ZPAGE_WORD11


    !3 LDA ZPAGE_BYTE10
    BEQ !5
    ASL A ;Icons 2 chrs wide
    !1 LDY ZPAGE_WORD11+1 ;Add offset to screen address
    ADC ZPAGE_WORD11
    TAX

    JSR CON_SCR_ATTR ;Calc attribute address
    STX N_BONUS_AADR ;Set up NMI to draw attribute
    STY N_BONUS_AADR+1

    STA N_BONUS_ATTR ;PAL_3 in rlevant bits
    EOR #$FF
    STA N_BONUS_AMASK ;Hole for attribute
    LDA #1
    STA N_BONUS_FLAG
    STA N_BG_FLAG

    LDA #24
    STA ZPAGE_BYTE11

    LDA #1 ;Add to score
    LDY ZPAGE_BYTE9
    JSR SC_ADD

    LDY #18 ;Make sound FX
    JSR FX_TRIGGER

    !4 JSR PANEL_SCAN
    LDA #1
    STA N_BG_FLAG
    WAIT_FRAME
    DEC ZPAGE_BYTE11
    BNE !4

    DEC ZPAGE_BYTE10
    BNE !3

    !5
    DEC ZPAGE_BYTE9

    RTS

    ;--------------------------------------
    ; Setup NMI vars to change score digits
    ; ----- --- ---- -- ------ ----- ------

    ; Scan the scores,lives and gold and if any need changing then
    ; setup one digit to be changed.

    PANEL_SCAN
    LDA N_P_FLAG
    BEQ !1 ;Still waiting for update
    RTS
    !1

    ; Scan current player score,gold or lives

    LDX #PL_VARS_LEN-1
    PS_LP LDA PL_SC,X
    CMP PL_DATA_SO,X ;Search for any differences
    BNE PS_FND
    DEX
    BPL PS_LP

    ; Scan dormat players score

    LDX #5-1 ;Just do score
    PS_LP2 LDA PL_SC+P_VARS_LEN,X
    CMP PL2_DATA_SO,X ;Search for any differences
    BNE PS_FND1
    DEX
    BPL PS_LP2

    RTS

    PS_FND1 STA PL2_DATA_SO,X ;Set onscreen for pl 2 score
    SEC
    SBC #246-$0A
    STA N_P_CHR ;Set character to draw

    LDA PL_NUM
    BNE PS_SNMI ;This is player 1's score(Lft)
    JMP PS_RGT ;This is player 2's score(Rgt)


    PS_FND
    STA PL_DATA_SO,X ;Set onscreen var
    SEC
    SBC #246-$0A
    STA N_P_CHR ;Set character to draw

    LDA PL_NUM
    BEQ PS_SNMI ;This is player 1's score(Lft)
    ;This is player 2's score(Rgt)
    PS_RGT TXA
    CMP #5 ;If Gold or lives alternate
    BCS !1 ;with whoose go it is
    CLC
    ADC #PL_VARS_LEN ;If score swap their sides
    TAX
    !1

    ; Setup vars to get NMI to draw a score digit.

    PS_SNMI
    LDA P_ATAB,X
    STA N_P_SADR
    LDA #>SCR_START
    STA N_P_SADR+1

    LDA #1
    STA N_P_FLAG

    RTS


    ; Screen address offset table

    P_ATAB DB 96+96+9 ;Player 1 score
    DB 96+96+10
    DB 96+96+11
    DB 96+96+12
    DB 96+96+13
    DB 96+64+24 ; Gold
    DB 96+64+25
    DB 96+64+26
    DB 96+64+5 ; Lives
    DB 96+64+6
    DB 96+96+18 ;Player 2 score
    DB 96+96+19
    DB 96+96+20
    DB 96+96+21
    DB 96+96+22
    </div>

    Here's the largest chunk:

    <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>XSPEED
    STA D_VARS+D_XSP_OFF+1,X

    LDA ZPAGE_BYTE2
    AND #SDC_DOWN
    BNE DI_CRAWLING_R

    ; Throw while standing up facing right

    LDA DIRK_X_ONSCR
    CLC ;Setup dagger starting X
    ADC #24
    BCS !1
    CMP #230
    BCC !2
    !1 RTS ; Error, Off edge
    !2 STA D_VARS+D_X_OFF,X
    LDA DIRK_Y
    SEC
    SBC #52
    STA D_VARS+D_Y_OFF,X
    JMP DI_XVXY_END

    ; Throw while crawling right

    DI_CRAWLING_R
    LDA DIRK_X_ONSCR
    CLC
    ADC #38
    BCC !1
    RTS ; Error, Off edge
    !1 STA D_VARS+D_X_OFF,X
    LDA DIRK_Y
    SEC
    SBC #31
    STA D_VARS+D_Y_OFF,X


    DI_XVXY_END
    LDA D_E_FRAC ;Subtract energy from Dirk
    CLC ;for each weapon thrown
    ADC #16
    STA D_E_FRAC
    BCC !1
    LDA #-1
    JSR DIRK_NRG_ADD
    !1

    LDY #1 ;Preload with normal dagger FX
    LDX WEAPON_TYPE
    DEX
    BNE !2
    LDY #15 ;Axe throw FX
    !2 JMP FX_TRIGGER ;and 'RTS'

    ;------------------
    ; Process all currently running daggers

    D_PROCESS
    LDX #2*D_VAR_LEN ;Offset to current dagger vars
    DP_LOOP
    LDA D_VARS+D_X_OFF,X
    BEQ16 DP_END ;This dagger isn't on

    LDA #D_GRAVITY
    CLC
    ADC D_VARS+D_YSP_OFF,X
    STA D_VARS+D_YSP_OFF,X ;Add gravity to
    BCC !1 ;speed
    INC D_VARS+D_YSP_OFF+1,X
    !1

    CLC
    ADC D_VARS+D_YF_OFF,X
    STA D_VARS+D_YF_OFF,X ;Add Y speed to Yf
    LDA D_VARS+D_YSP_OFF+1,X ;and Y
    ADC D_VARS+D_Y_OFF,X
    STA D_VARS+D_Y_OFF,X

    LDA D_VARS+D_YSP_OFF+1,X
    BMI BP_STILL_GOING
    CMP #7
    BCC BP_STILL_GOING


    ; Stop this dagger

    BP_STOP
    LDA #0 ;the end
    STA D_VARS+D_X_OFF,X ;If so,stop dagger
    JMP DP_END
    BP_STILL_GOING

    LDA D_VARS+D_XSP_OFF,X
    CLC ;Add X speed to
    ADC D_VARS+D_XF_OFF,X ;dagger X
    STA D_VARS+D_XF_OFF,X
    LDA D_VARS+D_XSP_OFF+1,X
    ADC D_VARS+D_X_OFF,X
    CMP #255-(D_XSPEED/256)
    BCS BP_STOP ;Gone off edge of
    STA D_VARS+D_X_OFF,X ;screen

    LDA D_VARS+D_TYP_OFF,X
    BEQ16 DP_DAG_SP


    ; Draw an axe and fireball

    DP_AF_SP
    LDA D_VARS+D_X_OFF,X
    STA ZPAGE_WORD5
    LDA D_VARS+D_Y_OFF,X
    STA ZPAGE_WORD6 ;Setup X and Y's
    LDA #0
    STA ZPAGE_WORD5+1
    STA ZPAGE_WORD6+1

    LDA D_VARS+D_TYP_OFF,X
    CMP #1
    BEQ DP_AXE_SP ;Axe specific draw


    ; Specific draw for fireball

    LDA D_VARS+D_ANI_OFF,X
    CMP #3
    BCC DP_FB_AOK
    LDA #0
    DP_FB_AOK TAY ;Animate the fireball
    CLC
    ADC #1
    STA D_VARS+D_ANI_OFF,X

    LDA D_VARS+D_XSP_OFF+1,X
    BMI DP_FB_LEFT

    SET16 ZPAGE_WORD2,DP_FB_LDEF
    LDA #BIT6
    JMP DP_FB_DEF_END
    DP_FB_LEFT
    SET16 ZPAGE_WORD2,DP_FB_RDEF
    LDA #0
    DP_FB_DEF_END
    STX ZPAGE_BYTE10 ;Preserve X
    TAX ;Setup X for SPR_DRAW

    TYA
    ASL A
    STA ZPAGE_BYTE1
    ASL A
    CLC ;6 bytes per animation
    ADC ZPAGE_BYTE1 ;entry.
    ADD16_A ZPAGE_WORD2

    LDA #128+1 ;Window number

    JSR SPR3_DRAW_39 ;Draw sprite

    LDX ZPAGE_BYTE10 ;Restore X

    JMP DP_END


    ; Specific draw for axe

    DP_AXE_SP
    LDA D_VARS+D_ANI_OFF,X
    CMP #4
    BCC DP_AXE_AOK
    LDA #0
    DP_AXE_AOK TAY ;Animate the dagger
    CLC
    ADC #1
    STA D_VARS+D_ANI_OFF,X

    LDA D_VARS+D_XSP_OFF+1,X
    BMI DP_AXE_LEFT

    SET16 ZPAGE_WORD2,DP_AXE_LDEF
    LDA #0
    JMP DP_AXE_DEF_END
    DP_AXE_LEFT
    SET16 ZPAGE_WORD2,DP_AXE_RDEF
    LDA #BIT6
    DP_AXE_DEF_END
    STX ZPAGE_BYTE10 ;Preserve X
    TAX ;Setup X for SPR_DRAW

    TYA
    ASL A
    STA ZPAGE_BYTE1
    ASL A
    CLC ;6 bytes per animation
    ADC ZPAGE_BYTE1 ;entry.
    ADD16_A ZPAGE_WORD2

    LDA #128+1 ;Window number

    JSR SPR3_DRAW_39 ;Draw sprite

    LDX ZPAGE_BYTE10 ;Restore X

    JMP DP_END


    ; Draw a dagger

    DP_DAG_SP
    LDY #0
    LDA D_VARS+D_Y_OFF,X
    STA (SD_PAGE_PTR),Y ;Setup Y of dagger sprites
    LDY #4
    STA (SD_PAGE_PTR),Y

    LDA D_VARS+D_X_OFF,X
    DEY ; Y=3
    STA (SD_PAGE_PTR),Y ;Setup X of dagger sprites
    CLC
    ADC #8
    LDY #7
    STA (SD_PAGE_PTR),Y

    LDA D_VARS+D_XSP_OFF+1,X
    BMI DP_CHR_LEFT

    ; Setup dagger characters for going right

    LDA #$14+64
    LDY #1
    STA (SD_PAGE_PTR),Y ;Characters
    LDA #$13+64
    LDY #5
    STA (SD_PAGE_PTR),Y
    LDA #0+SPR_CTR_X_FLIP
    JMP DP_CHR_SEND

    ; Setup dagger characters for going left

    DP_CHR_LEFT
    LDA #$13+64
    LDY #1
    STA (SD_PAGE_PTR),Y ;Characters
    LDA #$14+64
    LDY #5
    STA (SD_PAGE_PTR),Y
    LDA #0
    DP_CHR_SEND

    LDY #2
    STA (SD_PAGE_PTR),Y ;Attribute
    LDY #6
    STA (SD_PAGE_PTR),Y

    LDA SD_PAGE_PTR ;Move over 2 sprites
    CLC
    ADC #8
    BNE !1
    LDA #4
    !1 STA SD_PAGE_PTR

    DP_END
    TXA
    SEC ;Move to next daggers vars
    SBC #D_VAR_LEN
    TAX
    BCS16 DP_LOOP

    JMP SET_NORM_BANK ;and 'RTS'

    ;--------------------------------------
    ; Cameo screens
    ; ----- -------

    CAMEO
    LDA #128 ;Stop tune playing
    JSR START_TUNE

    LDX SCR_NUM ;Setup BG bank
    LDA CAM_B_TAB,X
    BEQ !1
    STA N_BG_BANK1
    CLC
    ADC #2
    STA N_BG_BANK2

    WAIT_FRAME
    LDA VDP_CTR_VAR0 ;Force screen 1
    AND #NOT-HORI_SWAP ;to get rid of the
    STA VDP_CTR_VAR0 ;dash.
    STA VDP_CTR_REG0

    LDA #-1
    LDX SCR_NUM
    DEX
    BEQ !2 ;Don't scroll entrance cameo
    LDA #-6
    !2 STA N_SC_X
    JSR DISABLE_NC ;Turn off NMI and CHR's

    LDA #PAL_1
    JSR CLS ;Clear screen

    LDX SCR_NUM ;Draw screen
    LDA CAM_S_TAB,X
    JSR S7_DS

    LDX SCR_NUM ;Draw attributes
    LDA CAM_A_TABL,X
    STA ZPAGE_WORD1
    LDA CAM_A_TABH,X
    STA ZPAGE_WORD1+1
    SET_VRAM_PTR 27C8
    LDX #56
    JSR SI_SET_ATTR2

    LDA #0 ;Leave dash on other screen
    STA N_SPLIT

    JSR ENABLE_CN

    LDX SCR_NUM
    LDA CAM_F_TAB,X
    PHA
    TAX
    JSR FADE_IN

    LDX #100 ;Wait for 100 frames
    JSR M_WAIT_FRAME

    PLA
    TAX
    JSR FADE_OUT

    !1
    RTS

    CAM_B_TAB DB 0 ; 0 - Drawbridge
    DB GR_1ST+38 ; 1 - Entrance hall
    DB GR_1ST+42 ; 2 - Mines
    DB GR_1ST+46 ; 3 - Reaper
    DB 0 ; 4 -
    DB GR_1ST+50 ; 5 - Singe
    DB 0 ; 6 - Elevator
    DB 0 ; 7 - Treasury
    DB 0 ; 8 - Dungeon


    CAM_S_TAB DB 0 ; 0 - Drawbridge
    DB 31 ; 1 - Entrance hall
    DB 32 ; 2 - Mines
    DB 33 ; 3 - Reaper
    DB 0 ; 4 -
    DB 35 ; 5 - Singe
    DB 0 ; 6 - Elevator
    DB 0 ; 7 - Treasury
    DB 0 ; 8 - Dungeon

    CAM_F_TAB DB 0 ; 0 - Drawbridge
    DB 75 ; 1 - Entrance hall
    DB 80 ; 2 - Mines
    DB 85 ; 3 - Reaper
    DB 0 ; 4 -
    DB 90 ; 5 - Singe
    DB 0 ; 6 - Elevator
    DB 0 ; 7 - Treasury
    DB 0 ; 8 - Dungeon

    CAM_A_TABH DH 0 ; 0 - Drawbridge
    DH AM_C102_0 ; 1 - Entrance hall
    DH AM_C106_0 ; 2 - Mines
    DH AM_C110_0 ; 3 - Reaper
    DH 0 ; 4 -
    DH AM_C114_0 ; 5 - Singe
    DH 0 ; 6 - Elevator
    DH 0 ; 7 - Treasury
    DH 0 ; 8 - Dungeon

    CAM_A_TABL DL 0 ; 0 - Drawbridge
    DL AM_C102_0 ; 1 - Entrance hall
    DL AM_C106_0 ; 2 - Mines
    DL AM_C110_0 ; 3 - Reaper
    DL 0 ; 4 -
    DL AM_C114_0 ; 5 - Singe
    DL 0 ; 6 - Elevator
    DL 0 ; 7 - Treasury
    DL 0 ; 8 - Dungeon



    ; C102_0 ATTRIBUTE MAP ( 8 X 6 )

    AM_C102_0

    DB $65,$95,$65,$15,$45,$95,$65,$95
    DB $EE,$BB,$EE,$33,$CC,$BB,$EE,$BB
    DB $AA,$22,$00,$00,$00,$00,$88,$AA
    DB $AA,$22,$00,$00,$00,$00,$88,$AA
    DB $AA,$22,$00,$00,$00,$00,$88,$AA
    DB $AA,$AA,$00,$00,$00,$00,$88,$AA
    DB $AA,$AA,$00,$00,$00,$00,$88,$AA




    ; C106_0 ATTRIBUTE MAP ( 8 X 6 )

    AM_C106_0

    DB $55,$B5,$A5,$A5,$A5,$A5,$F5,$11
    DB $9D,$AA,$AA,$AA,$AA,$AA,$AE,$11
    DB $99,$AA,$55,$55,$55,$99,$AA,$11
    DB $99,$AA,$55,$95,$55,$99,$AA,$11
    DB $99,$AA,$05,$09,$05,$89,$AA,$11
    DB $99,$AA,$00,$00,$00,$88,$AA,$11
    DB $99,$AA,$00,$00,$00,$88,$AA,$11

    ; C110_0 ATTRIBUTE MAP ( 8 X 6 )

    AM_C110_0

    DB $55,$55,$55,$55,$55,$55,$55,$11
    DB $55,$55,$05,$05,$05,$05,$45,$01
    DB $15,$00,$00,$00,$00,$00,$44,$00
    DB $00,$00,$C0,$FF,$33,$00,$44,$00
    DB $00,$00,$FC,$FF,$FF,$00,$44,$20
    DB $00,$C0,$FF,$00,$CC,$30,$A6,$22
    DB $0F,$0F,$0F,$00,$0C,$0F,$0A,$02


    ; C114_0 ATTRIBUTE MAP ( 8 X 6 )

    AM_C114_0

    DB $AA,$EF,$77,$55,$FF,$FF,$FF,$33
    DB $BA,$EE,$77,$55,$FF,$FF,$FF,$33
    DB $FF,$FA,$86,$55,$FF,$FF,$FF,$33
    DB $FF,$BF,$AA,$65,$5F,$5F,$5F,$13
    DB $FF,$FF,$FF,$76,$55,$55,$55,$11
    DB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$33
    DB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$33


    ;--------------------------------------

    B39_END
    IF B39_END>$BFFF
    PRINTF "**** BANK $39 too long !! ****"
    ENDIF


    ; End of bank $39
    ; --- -- ---- ---
    ;======================================
    ; Start of bank $38
    ; ----- -- ---- ---

    ORG $138,$8000

    ;--------------------------------------
    ; Include all the BG animation data.
    ; ------- --- --- -- --------- -----

    INCLUDE "BG_ANIM.SRC" ;ACB's and DCB's
    INCLUDE "BG_MAP1.SRC" ;Bg anims map data

    ;--------------------------------------
    ; Table of pointers to palettes.
    ; ----- -- -------- -- ---------

    SPAL_PTR_TAB
    DW PAL_BLACK ;0 - Mines (Bright)
    DW MI_P1 ;1
    DW MI_P2 ;2
    DW MI_P3 ;3
    DW S_PAL_S2 ;4
    DW PAL_BLACK ;5 - Mines (Dark)
    DW MI_P1 ;6
    DW MI_P2 ;7
    DW MI_P4 ;8
    DW S_PAL_S2 ;9
    DW DIRK_FLASH_PAL ;10
    DW PAL_BLACK ;11 - Elevator
    DW ELEV_PAL0 ;12
    DW ELEV_PAL1 ;13
    DW ELEV_PAL2 ;14
    DW S_PAL_S6 ;15
    DW MI_P5 ;16 - 2 entry candle lit mines
    DW MI_P6 ;17 - 2 entry bright mines
    DW S_PAL_S2A ;18 - 1 entry for lizard king
    DW S_PAL_S2B ;19 - 1 entry for normal
    DW PAL_BLACK ;20 - Grim reaper
    DW R00_PAL ;21
    DW R01_PAL ;22
    DW R02_PAL ;23
    DW S_PAL_S2 ;24
    DW FLASH_PAL ;25 - 4 ent Lighting flash
    DW PAL_BLACK ;26 - Drawbridge
    DW DB_PAL1 ;27
    DW DB_PAL2 ;28
    DW DB_PAL3 ;29
    DW S_PAL_S0 ;30
    DW PAL_BLACK ;31 - Name entry,
    DW AT_PAL1 ;32 - high score table
    DW AT_PAL2 ;33 - and title screen
    DW AT_PAL3 ;34
    DW AT_SPR_PAL ;35
    DW G1_PAL0 ;36 - 'Start' glow
    DW G1_PAL1 ;37
    DW G1_PAL2 ;38
    DW G1_PAL3 ;39
    DW G1_PAL4 ;40
    DW PAL_BLACK ;41
    DW SG_PAL1 ;42 - Singe's Lair
    DW SG_PAL2 ;43
    DW SG_PAL3 ;44
    DW S_PAL_S0 ;45
    DW SG_PAL4 ;46 - Dragon on
    DW PAL_BLACK ;47 - Entrance Hall
    DW PAL_BLACK ;48
    DW EH2_PAL ;49
    DW EH2_PAL ;50
    DW S_PAL_S2 ;51
    DW PAL_BLACK ;52 - Treasury
    DW T_PAL0 ;53
    DW T_PAL1 ;54
    DW T_PAL2 ;55
    DW S_PAL_S7 ;56
    DW SG_PAL ;57 - Singe bits palette
    DW PAL_BLACK ;58 - No fade set of palettes
    DW PAL_BLACK ;59 for use with mines drak
    DW PAL_BLACK ;60 section and grim reaper
    DW PAL_BLACK ;61 end.
    DW S_PAL_S2 ;62
    DW SG_PAL5 ;63 - Singe 1 ent green
    DW SG_FLASH ;64 - Flash Reaper/Singe white
    DW R03_PAL ;65 - Reaper 1 ent blue
    DW PAL_BLACK ;66 - End screen palettes
    DW ES_PAL1 ;67
    DW ES_PAL2 ;68
    DW ES_PAL3 ;69
    DW S_PAL_S0 ;70
    DW S0_SNK ;71 - Green for snake s0
    DW EH3_PAL ;72 - End screen (Entrance hall)
    DW EH3_F ;73 - Flash snake
    DW EH3_R ;74 - Restore snake
    DW PAL_BLACK ;75 - Entrance hall cameo
    DW PAL_BLACK ;76
    DW CAM_PAL3 ;77
    DW CAM_PAL3 ;78
    DW S_PAL_S0 ;79
    DW PAL_BLACK ;80 - Mines cameo
    DW PAL_BLACK ;81
    DW MIN_PAL3 ;82
    DW MIN_PAL3 ;83
    DW S_PAL_S0 ;84
    DW PAL_BLACK ;85
    DW PAL_BLACK ;86
    DW REAP_PAL3 ;87
    DW REAP_PAL3 ;88
    DW S_PAL_S0 ;89
    DW PAL_BLACK ;90
    DW PAL_BLACK ;91
    DW SING_PAL3 ;92
    DW SING_PAL3 ;93
    DW S_PAL_S0 ;94
    DW PAL_BLACK ;95
    DW EH3_R ;96 - Restore snake
    DW EH3_R ;97
    DW EH3_R ;98
    DW S_PAL_S0 ;99
    DW PAL_BLACK ;100 - Credit screens
    DW R00_PAL ;101
    DW R01_PAL ;102
    DW CS_PAL ;103
    DW S_PAL_S2 ;104


    ; BG palettes

    FLASH_PAL DB WHITE3,WHITE2,WHITE1,WHITE0
    DB WHITE3,WHITE2,WHITE1,WHITE0
    DB WHITE3,WHITE2,WHITE1,WHITE0
    DB WHITE3,WHITE2,WHITE1,WHITE0


    PAL_BLACK DB BLACK,BLACK,BLACK,BLACK
    DB BLACK,BLACK,BLACK,BLACK
    DB BLACK,BLACK,BLACK,BLACK
    DB BLACK,BLACK,BLACK,BLACK

    ; Sprite palettes

    ; Screen 0 - Drawbridge

    S_PAL_S0 DB BLACK,WHITE2,WHITE1,WHITE0
    DB BLACK,ORANGE2,ORANGE3,YELLOW1
    DB BLACK,WHITE2,YELLOW2,WHITE0
    S0_SNK DB BLACK,GREEN3,GREEN2,MID_GREEN1


    S_PAL_S2 DB BLACK,WHITE2,WHITE1,WHITE0
    DB BLACK,ORANGE2,ORANGE3,YELLOW1
    DB BLACK,WHITE2,YELLOW2,WHITE0
    S_PAL_S2B DB BLACK,ORANGE3,ORANGE2,ORANGE1


    ; Screen 6 - Elevator

    S_PAL_S6 DB BLACK,WHITE2,WHITE1,WHITE0
    DB BLACK,ORANGE2,ORANGE3,YELLOW1
    DB BLACK,WHITE2,YELLOW2,WHITE0
    DB BLACK,ORANGE3,ORANGE2,ORANGE1


    S_PAL_S7 DB BLACK,WHITE2,WHITE1,WHITE0
    DB BLACK,ORANGE2,ORANGE3,YELLOW1
    DB BLACK,WHITE2,YELLOW2,WHITE0
    S_PAL_S2A DB BLACK,WHITE2,LT_GREEN1,LT_GREEN2 ;Lizard king palette


    DIRK_FLASH_PAL DB BLACK,WHITE2,WHITE1,WHITE0
    DB BLACK,WHITE2,WHITE2,WHITE2
    DB BLACK,WHITE2,WHITE2,WHITE2
    ; DB BLACK,WHITE1,MID_GREEN1,MID_GREEN0

    SG_FLASH DB BLACK,WHITE3,WHITE3,WHITE3

    ; Attract mode sprite palette

    AT_SPR_PAL DB BLACK,BLUE2,BLUE2,BLUE1
    DB BLACK,ORANGE2,ORANGE1,ORANGE0
    DB BLACK,GREEN3,GREEN2,GREEN1
    DB BLACK,ORANGE3,ORANGE2,ORANGE1

    ; Sprite palette for Singe's bits

    SG_PAL DB BLACK,WHITE3,PURPLE2,PURPLE1

    MI_F DB BLACK

    ;======================================


    B38_END
    IF B38_END>$9FFF
    PRINTF "**** BANK $38 too long !! ****"
    ENDIF

    ; End of bank $38
    ; --- -- ---- ---
    ;--------------------------------------
    ; Start of bank $37
    ; ----- -- ---- ---

    ORG $137,$A000

    ; Include screen maps
    ; ------- ------ ----

    INCLUDE "GR_SMAP2.SRC"

    B37_END
    IF B37_END>$BFFF
    PRINTF "**** BANK $37 too long !! ****"
    ENDIF


    ; End of bank $37
    ; --- -- ---- ---
    ;--------------------------------------
    ; Start of bank $36
    ; ----- -- ---- ---

    ORG $136,$8000

    ; Include the ZZ_ and BM_ data for SPR_DRAW
    ; ------- --- --- --- --- ---- --- --------

    INCLUDE "GR_MAP.SRC"
    INCLUDE "GR_MAP2.SRC"
    INCLUDE "GR_MAP3.SRC"


    ; ZZ_ and BM_ maps for test sprite

    BM_TEST DB %11000000
    DB %11000000

    ZZ_TEST DB 30,30,30,30



    B36_END
    IF B36_END>$9FFF
    PRINTF "**** BANK $36 too long !! ****"
    ENDIF


    ; End of bank $36
    ; --- -- ---- ---

    ;--------------------------------------
    ; Start of bank $34+35
    ; ----- -- ---- ------

    ORG $134,$8000

    INCBIN "SCRBLK.INC"

    B35_END
    IF B35_END>$BFFF
    PRINTF "**** BANK $34+$35 too long !! ****"
    ENDIF


    ; End of bank $34+$35
    ; --- -- ---- -------
    ;--------------------------------------
    ; Start of bank $32
    ; ----- -- ---- ---

    ORG $132,$8000

    ;--------------------------------------

    INCBIN "ATTR.INC"

    ;--------------------------------------
    ; Collapsing floor collision tables.(X,Screen address)
    ; ---------- ----- --------- ------ ----------------

    ; Screen 0 - Drawbridge

    SCR0_COLAP_TAB
    DW 104,9024+13
    DW 112,9024+14
    DW 120,9024+15

    DW $FFFF


    ; Screen 3 - Grim reaper

    SCR3_COLAP_TAB

    ; Gr #1
    DW 88,9024+11
    DW 96,9024+12
    DW 104</div>

    more more!

    <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>; Table 0 contains pointers to the top left hand corner screen address.

    SCR_DRAW_TAB0 DW DL_SCR_TLFT ;0 - Panel
    DW DL_SCR_TLFT+(5*32) ;1 - Draw Bridge
    DW SCR1_START+(26*32) ;2 - Reaper floor
    DW DL_SCR_TLFT+(5*32) ;3 - Treasury
    DW SCR1_START+(15*32)+22 ;4 - Reaper

    IF FCS=1
    DW SCR_START+(9*32)+10 ;5 - SBIM logo
    DW SCR_START+(13*32)+13 ;6 - Presents
    DW SCR_START+(12*32)+24 ;7 - TM
    DW SCR_START+(19*32)+11 ;8 - Released by
    DW SCR_START+(21*32)+4 ;9 - EPIC logo
    DW SCR_START+(24*32)+5 ;10- Licensed by Nintendo
    DW SCR_START+(7*32)+7 ;11- EPIC release
    DW SCR_START+(12*32)+10 ;12- Developed by
    DW SCR_START+(14*32)+12 ;13- MotiveTime logo
    DW SCR_START+(18*32)+1 ;14- Copyright message
    DW SCR_START+(15*32)+10 ;15- Dragons Lair logo s1
    ENDIF

    IF GBR=1
    DW SCR_START+(5*32)+9 ;5 - SBIM logo
    DW SCR_START+(9*32)+11 ;6 - Presents
    DW SCR_START+(3*32)+9 ;7 - Don Bluth cs2
    DW SCR_START+(14*32)+10 ;8 - Released by
    DW SCR_START+(16*32)+6 ;9 - Elite logo
    DW SCR_START+(24*32)+5 ;10- Licensed by Nintendo
    DW SCR_START+(7*32)+5 ;11- Elite release
    DW SCR_START+(12*32)+10 ;12- Developed by
    DW SCR_START+(14*32)+11 ;13- MotiveTime logo
    DW SCR_START+(18*32)+1 ;14- Copyright message
    DW SCR_START+(11*32)+8 ;15- Dragons Lair logo s1
    ENDIF

    DW SCR_START+(3*32)+9 ;16- Dragons Lair logo s2
    DW SCR_START+(4*32)+23 ;17- TM credits screen 2
    DW SCR_START+(32*8)+7 ;18- SCORES
    DW SCR_START+(32*10)+8 ;19- PLAYERS
    DW SCR_START+(32*13)+8 ;20- MUSIC
    DW SCR_START+(32*10)+7 ;21- GOLD
    DW SCR_START+(32*23)+13 ;22- Mtime logo option screens
    DW SCR1_START+(32*8)+10 ;23-</div>

    more!!

    <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'> DL S6_TP_TAB ;6 - Elevator
    DL S7_TP_TAB ;7 - Treasury
    DL S8_TP_TAB ;8 - Dungeon

    SCR_TPTR_TABH DH S0_TP_TAB ;0 - Drawbridge

    IF HALL
    DH S1_TP_TAB ;1 - Entrance hall
    ELSE
    DH 0
    ENDIF

    IF MINES
    DH S2_TP_TAB ;2 - Mines
    ELSE
    DH 0
    ENDIF

    IF REAPER
    DH S3_TP_TAB ;3 - Grim reaper
    ELSE
    DH 0
    ENDIF

    DH 0 ;4-

    IF SINGE
    DH S5_TP_TAB ;5 - Singe
    ELSE
    DH 0
    ENDIF

    DH S6_TP_TAB ;6 - Elevator
    DH S7_TP_TAB ;7 - Treasury
    DH S8_TP_TAB ;8 - Dungeon


    ;--------------------------------------
    ; Include graphics source files
    ; ------- -------- ------ -----

    INCLUDE "GR_SMAP1.SRC"

    ;--------------------------------------
    ; Sprite Collision boxes
    ; ------ --------- -----

    ; Table of pointers to collision boxes

    SDC_COL_PTRS_L DL SCOL_0
    DL SCOL_1
    DL SCOL_2
    DL SCOL_3
    DL SCOL_4
    DL SCOL_5
    DL SCOL_6
    DL SCOL_7
    DL SCOL_8
    DL SCOL_9
    DL SCOL_10
    DL SCOL_11
    DL SCOL_12
    DL SCOL_13
    DL SCOL_14
    DL SCOL_15
    DL SCOL_16
    DL SCOL_17
    DL SCOL_18
    DL SCOL_19
    DL SCOL_20
    DL SCOL_21
    DL SCOL_22
    DL SCOL_23
    DL SCOL_24
    DL SCOL_25
    DL SCOL_26
    DL SCOL_27
    DL SCOL_25 ;28
    DL SCOL_26 ;29
    DL SCOL_27 ;30
    DL SCOL_31
    DL SCOL_32
    DL SCOL_33
    DL SCOL_34
    DL SCOL_35
    DL SCOL_36
    DL SCOL_37
    DL SCOL_38
    DL SCOL_39
    DL SCOL_40
    DL SCOL_41
    DL SCOL_42
    DL SCOL_43
    DL SCOL_44
    DL SCOL_45
    DL SCOL_46
    DL SCOL_47

    SDC_COL_PTRS_H DH SCOL_0
    DH SCOL_1
    DH SCOL_2
    DH SCOL_3
    DH SCOL_4
    DH SCOL_5
    DH SCOL_6
    DH SCOL_7
    DH SCOL_8
    DH SCOL_9
    DH SCOL_10
    DH SCOL_11
    DH SCOL_12
    DH SCOL_13
    DH SCOL_14
    DH SCOL_15
    DH SCOL_16
    DH SCOL_17
    DH SCOL_18
    DH SCOL_19
    DH SCOL_20
    DH SCOL_21
    DH SCOL_22
    DH SCOL_23
    DH SCOL_24
    DH SCOL_25
    DH SCOL_26</div>

    MORE!

    <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'> DL SF_EL7


    SF_ETABH DH SF_EL0
    DH SF_EL1
    DH SF_EL2
    DH SF_EL3
    DH SF_EL4
    DH SF_EL5
    DH SF_EL6
    DH SF_EL7


    SF_EL0 ;Drawbridge

    SF_EL1 DB 1,2,8,7 ;Entrance hall

    SF_EL2 DB 8,2,3,7 ;Mines

    SF_EL3 DB 5,8,3,7 ;Grim reaper

    SF_EL4 ;Not implemented

    SF_EL5 ;Singe

    SF_EL6 ;Elevator

    SF_EL7 ;Treasury


    SF_NOT_6

    ; Stop exit off left of screen

    LDA DIRK_X_ONSCR
    CMP #L_EDGE
    BCS SF_LOK

    LDA SCR_NUM ;Dirk exits on the left
    CMP #7 ;in the treasury
    BNE !1
    LDA END_LEVEL_FLAG ;Exit from treasury
    BNE SF_LEVEL_END
    !1
    LDA #L_EDGE+4 ;Put Dirk at left
    JSR SF_CEP

    SF_LOK

    SF_SCROLL
    LDA SCROLL_FLAG ;Is it a scrolling section
    BEQ SF_NOT_SCROLL

    LDA SCROLL_XOFFSET+1 ;Test if finished scrolling
    CMP SCROLL_LENGTH+1 ;(16 bit compare)
    BCC SF_END
    BNE !1
    LDA SCROLL_XOFFSET
    CMP SCROLL_LENGTH
    BCC SF_END


    ; Scroll has finished so allow Dirk freedom to walk right.

    !1
    LDA #0
    STA SCROLL_FLAG ;Clear scroll flag

    SF_NOT_SCROLL
    LDA DIRK_X_ON</div>

    The rest isn't source code but some remnants of the OS the game was compiled on:

    Code (Text):
    1. All the memory in your machine has been exhausted.
    2. &nbsp;&nbsp;Do you want to save your files before exiting to DOS?
    I found source code to two pirate games that take advantage of the light gun. And of course, there's Air Fortress' leftover source code which has been mentioned on X-Cult.
     
  5. evilhamwizard

    evilhamwizard

    Researcher
    1,351
    276
    63
    Yay time to double post again. This time, let's do Dragons Lair (JP) (FYI - the US version doesn't have anything interesting). Please note, it might be similar to EU in some parts but there are new fragments of code not found in the EU version:

    Let's start with this:

    <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'> DB 96+96+20
    DB 96+96+21
    DB 96+96+22

    ;--------------------------------------
    ; Throw a dagger control routines
    ; ----- - ------ ------- --------

    ; Initialization, this routine starts a dagger if there is one free

    ; This routine was modifyed to cope with axes and fireballs

    ; IN
    ; --
    ; A=Direction (BIT6=0 - Facing right 1 - Facing left)


    D_INIT
    STA ZPAGE_BYTE2

    LDX WEAPON_TYPE
    BEQ DI_3ON ;3 daggers allowed
    DEX
    BEQ DI_2ON ;2 axes
    JMP DI_1ON ;1 fireball

    DI_3ON LDX #2*D_VAR_LEN
    LDA D_VARS+D_X_OFF+(2*D_VAR_LEN)
    BEQ DI_FREE
    DI_2ON LDX #1*D_VAR_LEN
    LDA D_VARS+D_X_OFF+(1*D_VAR_LEN)
    BEQ DI_FREE
    DI_1ON LDX #0*D_VAR_LEN
    LDA D_VARS+D_X_OFF+(0*D_VAR_LEN)
    BEQ DI_FREE

    RTS

    ; X holds offset of block to init.

    DI_FREE
    LDA WEAPON_TYPE
    STA D_VARS+D_TYP_OFF,X ;Store type in vars

    LDA #0
    STA D_VARS+D_ANI_OFF,X ;Start at first anim

    ; Setup Y velocity

    LDA #<(-800)
    STA D_VARS+D_YSP_OFF,X
    LDA #>(-800)
    STA D_VARS+D_YSP_OFF+1,X

    ; Setup X velocitys and X,Y's

    LDA ZPAGE_BYTE2
    AND #SDC_LEFT
    BEQ DI_GOING_RGT

    ; Going left


    ; Set velocity going left

    LDA #<0+(0-D_XSPEED)
    STA D_VARS+D_XSP_OFF,X
    LDA #>0+(0-D_XSPEED)
    STA D_VARS+D_XSP_OFF+1,X

    LDA ZPAGE_BYTE2
    AND #SDC_DOWN
    BNE DI_CRAWLING_L

    ; Throw while standing up facing left

    LDA DIRK_X_ONSCR
    STA D_VARS+D_X_OFF,X
    LDA DIRK_Y
    SEC
    SBC #52
    STA D_VARS+D_Y_OFF,X
    JMP DI_XVXY_END


    ; Throw while crawling left

    DI_CRAWLING_L

    LDA DIRK_X_ONSCR
    SEC
    SBC #18
    BCS !1
    RTS ; Error, Off edge
    !1 STA D_VARS+D_X_OFF,X
    LDA DIRK_Y
    SEC
    SBC #31
    STA D_VARS+D_Y_OFF,X
    JMP DI_XVXY_END


    ; Going right

    DI_GOING_RGT

    ; Setup X velocity for going right

    LDA #<D_XSPEED
    STA D_VARS+D_XSP_OFF,X
    LDA #>D_XSPEED
    STA D_VARS+D_XSP_OFF+1,X

    LDA ZPAGE_BYTE2
    AND #SDC_DOWN
    BNE DI_CRAWLING_R

    ; Throw while standing up facing right

    LDA DIRK_X_ONSCR
    CLC ;Setup dagger starting X
    ADC #24
    BCS !1
    CMP #230
    BCC !2
    !1 RTS ; Error, Off edge
    !2 STA D_VARS+D_X_OFF,X
    LDA DIRK_Y
    SEC
    SBC #52
    STA D_VARS+D_Y_OFF,X
    JMP DI_XVXY_END

    ; Throw while crawling right

    DI_CRAWLING_R
    LDA DIRK_X_ONSCR
    CLC
    ADC #38
    BCC !1
    RTS ; Error, Off edge
    !1 STA D_VARS+D_X_OFF,X
    LDA DIRK_Y
    SEC
    SBC #31
    STA D_VARS+D_Y_OFF,X


    DI_XVXY_END
    LDA D_E_FRAC ;Subtract energy from Dirk
    CLC ;for each weapon thrown
    ADC #16
    STA D_E_FRAC
    BCC !1
    LDA #-1
    JSR DIRK_NRG_ADD
    !1

    LDY #1 ;Preload with normal dagger FX
    LDX WEAPON_TYPE
    DEX
    BNE !2
    LDY #15 ;Axe throw FX
    !2 JMP FX_TRIGGER ;and 'RTS'

    ;------------------
    ; Process all currently running daggers

    D_PROCESS
    LDX #2*D_VAR_LEN ;Offset to current dagger vars
    DP_LOOP
    LDA D_VARS+D_X_OFF,X
    BEQ16 DP_END ;This dagger isn't on

    LDA #D_GRAVITY
    CLC
    ADC D_VARS+D_YSP_OFF,X
    STA D_VARS+D_YSP_OFF,X ;Add gravity to
    BCC !1 ;speed
    INC D_VARS+D_YSP_OFF+1,X
    !1

    CLC
    ADC D_VARS+D_YF_OFF,X
    STA D_VARS+D_YF_OFF,X ;Add Y speed to Yf
    LDA D_VARS+D_YSP_OFF+1,X ;and Y
    ADC D_VARS+D_Y_OFF,X
    STA D_VARS+D_Y_OFF,X

    LDA D_VARS+D_YSP_OFF+1,X
    BMI BP_STILL_GOING
    CMP #7
    BCC BP_STILL_GOING


    ; Stop this dagger

    BP_STOP
    LDA #0 ;the end
    STA D_VARS+D_X_OFF,X ;If so,stop dagger
    JMP DP_END
    BP_STILL_GOING

    LDA D_VARS+D_XSP_OFF,X
    CLC ;Add X speed to
    ADC D_VARS+D_XF_OFF,X ;dagger X
    STA D_VARS+D_XF_OFF,X
    LDA D_VARS+D_XSP_OFF+1,X
    ADC D_VARS+D_X_OFF,X
    CMP #255-(D_XSPEED/256)
    BCS BP_STOP ;Gone off edge of
    STA D_VARS+D_X_OFF,X ;screen

    LDA D_VARS+D_TYP_OFF,X
    BEQ16 DP_DAG_SP


    ; Draw an axe and fireball

    DP_AF_SP
    LDA D_VARS+D_X_OFF,X
    STA ZPAGE_WORD5
    LDA D_VARS+D_Y_OFF,X
    STA ZPAGE_WORD6 ;Setup X and Y's
    LDA #0
    STA ZPAGE_WORD5+1
    STA ZPAGE_WORD6+1

    LDA D_VARS+D_TYP_OFF,X
    CMP #1
    BEQ DP_AXE_SP ;Axe specific draw


    ; Specific draw for fireball

    LDA D_VARS+D_ANI_OFF,X
    CMP #3
    BCC DP_FB_AOK
    LDA #0
    DP_FB_AOK TAY ;Animate the fireball
    CLC
    ADC #1
    STA D_VARS+D_ANI_OFF,X

    LDA D_VARS+D_XSP_OFF+1,X
    BMI DP_FB_LEFT

    SET16 ZPAGE_WORD2,DP_FB_LDEF
    LDA #BIT6
    JMP DP_FB_DEF_END
    DP_FB_LEFT
    SET16 ZPAGE_WORD2,DP_FB_RDEF
    LDA #0
    DP_FB_DEF_END
    STX ZPAGE_BYTE10 ;Preserve X
    TAX ;Setup X for SPR_DRAW

    TYA
    ASL A
    STA ZPAGE_BYTE1
    ASL A
    CLC ;6 bytes per animation
    ADC ZPAGE_BYTE1 ;entry.
    ADD16_A ZPAGE_WORD2

    LDA #128+1 ;Window number

    JSR SPR3_DRAW_39 ;Draw sprite

    LDX ZPAGE_BYTE10 ;Restore X

    JMP DP_END


    ; Specific draw for axe

    DP_AXE_SP
    LDA D_VARS+D_ANI_OFF,X
    CMP #4
    BCC DP_AXE_AOK
    LDA #0
    DP_AXE_AOK TAY ;Animate the dagger
    CLC
    ADC #1
    STA D_VARS+D_ANI_OFF,X

    LDA D_VARS+D_XSP_OFF+1,X
    BMI DP_AXE_LEFT

    SET16 ZPAGE_WORD2,DP_AXE_LDEF
    LDA #0
    JMP DP_AXE_DEF_END
    DP_AXE_LEFT
    SET16 ZPAGE_WORD2,DP_AXE_RDEF
    LDA #BIT6
    DP_AXE_DEF_END
    STX ZPAGE_BYTE10 ;Preserve X
    TAX ;Setup X for SPR_DRAW

    TYA
    ASL A
    STA ZPAGE_BYTE1
    ASL A
    CLC ;6 bytes per animation
    ADC ZPAGE_BYTE1 ;entry.
    ADD16_A ZPAGE_WORD2

    LDA #128+1 ;Window number

    JSR SPR3_DRAW_39 ;Draw sprite

    LDX ZPAGE_BYTE10 ;Restore X

    JMP DP_END


    ; Draw a dagger

    DP_DAG_SP
    LDY #0
    LDA D_VARS+D_Y_OFF,X
    STA (SD_PAGE_PTR),Y ;Setup Y of dagger sprites
    LDY #4
    STA (SD_PAGE_PTR),Y

    LDA D_VARS+D_X_OFF,X
    DEY ; Y=3
    STA (SD_PAGE_PTR),Y ;Setup X of dagger sprites
    CLC
    ADC #8
    LDY #7
    STA (SD_PAGE_PTR),Y

    LDA D_VARS+D_XSP_OFF+1,X
    BMI DP_CHR_LEFT

    ; Setup dagger characters for going right

    LDA #$14+64
    LDY #1
    STA (SD_PAGE_PTR),Y ;Characters
    LDA #$13+64
    LDY #5
    STA (SD_PAGE_PTR),Y
    LDA #0+SPR_CTR_X_FLIP
    JMP DP_CHR_SEND

    ; Setup dagger characters for going left

    DP_CHR_LEFT
    LDA #$13+64
    LDY #1
    STA (SD_PAGE_PTR),Y ;Characters
    LDA #$14+64
    LDY #5
    STA (SD_PAGE_PTR),Y
    LDA #0
    DP_CHR_SEND

    LDY #2
    STA (SD_PAGE_PTR),Y ;Attribute
    LDY #6
    STA (SD_PAGE_PTR),Y

    LDA SD_PAGE_PTR ;Move over 2 sprites
    CLC
    ADC #8
    BNE !1
    LDA #4
    !1 STA SD_PAGE_PTR

    DP_END
    TXA
    SEC ;Move to next daggers vars
    SBC #D_VAR_LEN
    TAX
    BCS16 DP_LOOP

    JMP SET_NORM_BANK ;and 'RTS'

    ;--------------------------------------
    ; Cameo screens
    ; ----- -------

    CAMEO
    LDA #128 ;Stop tune playing
    JSR START_TUNE

    RTS

    LDX SCR_NUM ;Setup BG bank
    LDA CAM_B_TAB,X
    BEQ !1
    STA N_BG_BANK1
    CLC
    ADC #2
    STA N_BG_BANK2

    WAIT_FRAME
    LDA VDP_CTR_VAR0 ;Force screen 1
    AND #NOT-HORI_SWAP ;to get rid of the
    STA VDP_CTR_VAR0 ;dash.
    STA VDP_CTR_REG0

    LDA #-1
    LDX SCR_NUM
    DEX
    BEQ !2 ;Don't scroll entrance cameo
    LDA #-6
    !2 STA N_SC_X
    JSR DISABLE_NC ;Turn off NMI and CHR's

    LDA #PAL_1
    JSR CLS ;Clear screen

    LDX SCR_NUM ;Draw screen
    LDA CAM_S_TAB,X
    JSR S7_DS

    LDX SCR_NUM ;Draw attributes
    LDA CAM_A_TABL,X
    STA ZPAGE_WORD1
    LDA CAM_A_TABH,X
    STA ZPAGE_WORD1+1
    SET_VRAM_PTR 27C8
    LDX #56
    JSR SI_SET_ATTR2

    LDA #0 ;Leave dash on other screen
    STA N_SPLIT

    JSR ENABLE_CN

    LDX SCR_NUM
    LDA CAM_F_TAB,X
    PHA
    TAX
    JSR FADE_IN

    LDX #100 ;Wait for 100 frames
    JSR M_WAIT_FRAME

    PLA
    TAX
    JSR FADE_OUT

    !1
    RTS

    CAM_B_TAB DB 0 ; 0 - Drawbridge
    DB GR_1ST+38 ; 1 - Entrance hall
    DB GR_1ST+42 ; 2 - Mines
    DB GR_1ST+46 ; 3 - Reaper
    DB 0 ; 4 -
    DB GR_1ST+50 ; 5 - Singe
    DB 0 ; 6 - Elevator
    DB 0 ; 7 - Treasury
    DB 0 ; 8 - Dungeon


    CAM_S_TAB DB 0 ; 0 - Drawbridge
    DB 31 ; 1 - Entrance hall
    DB 32 ; 2 - Mines
    DB 33 ; 3 - Reaper
    DB 0 ; 4 -
    DB 35 ; 5 - Singe
    DB 0 ; 6 - Elevator
    DB 0 ; 7 - Treasury
    DB 0 ; 8 - Dungeon

    CAM_F_TAB DB 0 ; 0 - Drawbridge
    DB 75 ; 1 - Entrance hall
    DB 80 ; 2 - Mines
    DB 85 ; 3 - Reaper
    DB 0 ; 4 -
    DB 90 ; 5 - Singe
    DB</div>

    more:

    <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>$AA,$65,$5F,$5F,$5F,$13
    DB $FF,$FF,$FF,$76,$55,$55,$55,$11
    DB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$33
    DB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$33

    ;--------------------------------------
    ; Lizard king
    ; ------ ----

    LIZ_ON_TIME EQU 100


    LIZARD_PROCESS

    LDA LIZARD_FLAG
    BEQ16 LP_NOT_ON ;Wait before bringing
    DEC LIZARD_FLAG ;another on.
    BNE LP_NOT_END


    ; Lizard has ended
    LDA FADE_PALETTE
    CLC
    ADC #4
    LDX #4
    LDY #4
    JSR CHANGE_PAL ;Set sprite palette

    LDA SPR3_WIN2_R ;Reset back to normal
    STA SPR3_WIN2 ;sprite bank

    LDY #FLAG_OFF+1
    LDA (LIZ_FCD_VARS),Y
    ORA #(FCD_SP1_BIT/256) ;Set death bit
    STA (LIZ_FCD_VARS),Y

    RTS

    LP_NOT_END
    LDA LIZARD_FLAG
    CMP #LIZ_ON_TIME-20
    BEQ LP_EXPLODE ;Start lizard on explosions
    RTS

    ; Start lizard appear explosions

    LP_EXPLODE
    LDA #18
    LDX #7
    LDY #1
    JSR CHANGE_PAL

    ; Start lizard king.

    SET16 ZPAGE_WORD2,FCD_LZ
    LDA #8
    STA ZPAGE_BYTE1 ;Hit count
    LDA #ST_LZ
    STA ZPAGE_BYTE2 ;Sprite type
    JSR SI_39 ;Try to start FCD sprite.
    BNE LP_CANT_START
    LDA ZPAGE_WORD1
    STA LIZ_FCD_VARS ;Store address of FCD vars
    LDA ZPAGE_WORD1+1
    STA LIZ_FCD_VARS+1
    LDA DIRK_Y
    SEC
    SBC #22
    JSR SR_39 ;Start Lizard after waiting

    JSR LP_ST_SMOKE
    BNE LP_CANT_START ;Can't start smoke
    LDA DIRK_Y ;Start bottom smoke
    SEC
    SBC #44
    JSR SR_39

    JSR LP_ST_SMOKE
    BNE LP_CANT_START ;Can't start smoke
    LDA DIRK_Y ;Start top smoke
    SEC
    SBC #72
    JSR SR_39


    LP_CANT_START

    ; Change to correct sprite bank in window 2
    LDA #23
    STA SPR3_WIN2

    ; Start lizard king fanfare

    LDY #31
    JSR FX_TRIGGER
    LDY #32
    JSR FX_TRIGGER
    LDY #33
    JMP FX_TRIGGER ;and 'RTS'


    ; Lizard king is not on so check if he can be brought on

    LP_NOT_ON

    ; Don't bring on if no gold
    LDA PL_GOLD
    ORA PL_GOLD+1 ;Don't do gold bonus if no
    ORA PL_GOLD+2 ;gold.
    CMP #246
    BNE !1
    RTS
    !1

    ; Check if allowed on at the current scroll position
    LDX SCR_NUM
    LDA LIZ_SCR_TABL,X
    STA ZPAGE_WORD1 ;Setup WORD1 as pointer to
    LDA LIZ_SCR_TABH,X ;ON/OFF data.
    STA ZPAGE_WORD1+1

    LP_FLOOP
    LDY #0
    LDA (ZPAGE_WORD1),Y
    STA ZPAGE_WORD2
    INY ;WORD2 is ON x
    LDA (ZPAGE_WORD1),Y
    STA ZPAGE_WORD2+1
    ORA ZPAGE_WORD2
    CMP #$FF
    BNE LP_!END
    RTS

    LP_!END
    CMP16 ZPAGE_WORD2,SCROLL_XOFFSET
    BCS16 LP_FLOOP_NEXT

    LDY #2
    LDA (ZPAGE_WORD1),Y
    STA ZPAGE_WORD2
    INY ;WORD2 is OFF x
    LDA (ZPAGE_WORD1),Y
    STA ZPAGE_WORD2+1

    CMP16 ZPAGE_WORD2,SCROLL_XOFFSET
    BCC LP_FLOOP_NEXT

    ; In range so bring lizard king on.

    JSR RND_A1
    CMP #251
    BCS LP_BO_S1
    RTS
    LP_BO_S1 JSR RND_A1
    CMP #18
    BCC LP_BO_S2
    RTS
    LP_BO_S2

    ; Bring lizard king on.
    LDA #LIZ_ON_TIME
    STA LIZARD_FLAG

    ; Kill all other sprites

    LDX #MAX_FCD_UNITS
    SET16 ZPAGE_WORD1,SPR0
    LDY #FLAG_OFF+1
    LP_LP LDA (ZPAGE_WORD1),Y
    ORA #FCD_DEATH_BIT/256
    STA (ZPAGE_WORD1),Y
    ADD16_8 ZPAGE_WORD1,FCD_VARS_LEN
    DEX
    BNE LP_LP

    RTS


    LP_FLOOP_NEXT
    ADD16_8 ZPAGE_WORD1,4 ;Move to next
    JMP LP_FLOOP


    LP_ST_SMOKE
    SET16 ZPAGE_WORD2,FCD_SMOKE
    LDA #200
    STA ZPAGE_BYTE1 ;Hit count
    LDA #ST_NULL
    STA ZPAGE_BYTE2 ;Sprite type
    JMP SI_39 ;Start lizard appear smoke
    ;and 'RTS'

    LIZ_SCR_TABL DL LIZ_DUMMY
    DL LIZ_SCR1
    DL LIZ_SCR2
    DL LIZ_DUMMY
    DL LIZ_DUMMY
    DL LIZ_SCR5
    DL LIZ_DUMMY
    DL LIZ_DUMMY
    DL LIZ_DUMMY

    LIZ_SCR_TABH DH LIZ_DUMMY
    DH LIZ_SCR1
    DH LIZ_SCR2
    DH LIZ_DUMMY
    DH LIZ_DUMMY
    DH LIZ_SCR5
    DH LIZ_DUMMY
    DH LIZ_DUMMY
    DH LIZ_DUMMY


    ; Entrance hall
    ; Singe
    LIZ_SCR5
    LIZ_SCR1 DW 0,980
    DW $FFFF

    ; Mines
    LIZ_SCR2 DW 0,500
    DW 1400,1500
    DW $FFFF

    LIZ_DUMMY DW $FFFF


    B39_END
    IF B39_END>$BFFF
    PRINTF "**** BANK $39 too long !! ****"
    ENDIF


    ; End of bank $39
    ; --- -- ---- ---
    ;======================================
    ; Start of bank $38
    ; ----- -- ---- ---

    ORG $138,$8000

    ;--------------------------------------
    ; Include all the BG animation data.
    ; ------- --- --- -- --------- -----

    INCLUDE "BG_ANIM.SRC" ;ACB's and DCB's
    INCLUDE "BG_MAP1.SRC" ;Bg anims map data

    ;--------------------------------------
    ; Table of pointers to palettes.
    ; ----- -- -------- -- ---------

    SPAL_PTR_TAB
    DW PAL_BLACK ;0 - Mines (Bright)
    DW MI_P1 ;1
    DW MI_P2 ;2
    DW MI_P3 ;3
    DW S_PAL_S2 ;4
    DW PAL_BLACK ;5 - Mines (Dark)
    DW MI_P1 ;6
    DW MI_P2 ;7
    DW MI_P4 ;8
    DW S_PAL_S2 ;9
    DW DIRK_FLASH_PAL ;10
    DW PAL_BLACK ;11 - Elevator
    DW ELEV_PAL0 ;12
    DW ELEV_PAL1 ;13
    DW ELEV_PAL2 ;14
    DW S_PAL_S6 ;15
    DW MI_P5 ;16 - 2 entry candle lit mines
    DW MI_P6 ;17 - 2 entry bright mines
    DW S_PAL_S2A ;18 - 1 entry for lizard king
    DW S_PAL_S2B ;19 - 1 entry for normal
    DW PAL_BLACK ;20 - Grim reaper
    DW R00_PAL ;21
    DW R01_PAL ;22
    DW R02_PAL ;23
    DW S_PAL_S2 ;24
    DW FLASH_PAL ;25 - 4 ent Lighting flash
    DW PAL_BLACK ;26 - Drawbridge
    DW DB_PAL1 ;27
    DW DB_PAL2 ;28
    DW DB_PAL3 ;29
    DW S_PAL_S0 ;30
    DW PAL_BLACK ;31 - Name entry,
    DW AT_PAL1 ;32 - high score table
    DW AT_PAL2 ;33 - and title screen
    DW AT_PAL3 ;34
    DW AT_SPR_PAL ;35
    DW G1_PAL0 ;36 - 'Start' glow
    DW G1_PAL1 ;37
    DW G1_PAL2 ;38
    DW G1_PAL3 ;39
    DW G1_PAL4 ;40
    DW PAL_BLACK ;41
    DW SG_PAL1 ;42 - Singe's Lair
    DW SG_PAL2 ;43
    DW SG_PAL3 ;44
    DW S_PAL_S0 ;45
    DW SG_PAL4 ;46 - Dragon on
    DW PAL_BLACK ;47 - Entrance Hall
    DW PAL_BLACK ;48
    DW EH2_PAL ;49
    DW EH2_PAL ;50
    DW S_PAL_S2 ;51
    DW PAL_BLACK ;52 - Treasury
    DW T_PAL0 ;53
    DW T_PAL1 ;54
    DW T_PAL2 ;55
    DW S_PAL_S7 ;56
    DW SG_PAL ;57 - Singe bits palette
    DW PAL_BLACK ;58 - No fade set of palettes
    DW PAL_BLACK ;59 for use with mines drak
    DW PAL_BLACK ;60 section and grim reaper
    DW PAL_BLACK ;61 end.
    DW S_PAL_S2 ;62
    DW SG_PAL5 ;63 - Singe 1 ent green
    DW SG_FLASH ;64 - Flash Reaper/Singe white
    DW R03_PAL ;65 - Reaper 1 ent blue
    DW PAL_BLACK ;66 - End screen palettes
    DW ES_PAL1 ;67
    DW ES_PAL2 ;68
    DW ES_PAL3 ;69
    DW S_PAL_S0 ;70
    DW S0_SNK ;71 - Green for snake s0
    DW EH3_PAL ;72 - End screen (Entrance hall)
    DW EH3_F ;73 - Flash snake
    DW EH3_R ;74 - Restore snake
    DW PAL_BLACK ;75 - Entrance hall cameo
    DW PAL_BLACK ;76
    DW CAM_PAL3 ;77
    DW CAM_PAL3 ;78
    DW S_PAL_S0 ;79
    DW PAL_BLACK ;80 - Mines cameo
    DW PAL_BLACK ;81
    DW MIN_PAL3 ;82
    DW MIN_PAL3 ;83
    DW S_PAL_S0 ;84
    DW PAL_BLACK ;85
    DW PAL_BLACK ;86
    DW REAP_PAL3 ;87
    DW REAP_PAL3 ;88
    DW S_PAL_S0 ;89
    DW PAL_BLACK ;90
    DW PAL_BLACK ;91
    DW SING_PAL3 ;92
    DW SING_PAL3 ;93
    DW S_PAL_S0 ;94
    DW PAL_BLACK ;95
    DW EH3_R ;96 - Restore snake
    DW EH3_R ;97
    DW EH3_R ;98
    DW S_PAL_S0 ;99
    DW PAL_BLACK ;100 - Credit screens
    DW R00_PAL ;101
    DW R01_PAL ;102
    DW CS_PAL ;103
    DW S_PAL_S2 ;104


    ; BG palettes

    FLASH_PAL DB WHITE3,WHITE2,WHITE1,WHITE0
    DB WHITE3,WHITE2,WHITE1,WHITE0
    DB WHITE3,WHITE2,WHITE1,WHITE0
    DB WHITE3,WHITE2,WHITE1,WHITE0


    PAL_BLACK DB BLACK,BLACK,BLACK,BLACK
    DB BLACK,BLACK,BLACK,BLACK
    DB BLACK,BLACK,BLACK,BLACK
    DB BLACK,BLACK,BLACK,BLACK

    ; Sprite palettes

    ; Screen 0 - Drawbridge

    S_PAL_S0 DB BLACK,WHITE2,WHITE1,WHITE0
    DB BLACK,ORANGE2,ORANGE3,YELLOW1
    DB BLACK,WHITE2,YELLOW2,WHITE0
    S0_SNK DB BLACK,GREEN3,GREEN2,MID_GREEN1


    S_PAL_S2 DB BLACK,WHITE2,WHITE1,WHITE0
    DB BLACK,ORANGE2,ORANGE3,YELLOW1
    DB BLACK,WHITE2,YELLOW2,WHITE0
    S_PAL_S2B DB BLACK,ORANGE3,ORANGE2,ORANGE1


    ; Screen 6 - Elevator

    S_PAL_S6 DB BLACK,WHITE2,WHITE1,WHITE0
    DB BLACK,ORANGE2,ORANGE3,YELLOW1
    DB BLACK,WHITE2,YELLOW2,WHITE0
    DB BLACK,ORANGE3,ORANGE2,ORANGE1


    S_PAL_S7 DB BLACK,WHITE2,WHITE1,WHITE0
    DB BLACK,ORANGE2,ORANGE3,YELLOW1
    DB BLACK,WHITE2,YELLOW2,WHITE0
    S_PAL_S2A DB BLACK,WHITE2,LT_GREEN1,LT_GREEN2 ;Lizard king palette


    DIRK_FLASH_PAL DB BLACK,WHITE2,WHITE1,WHITE0
    DB BLACK,WHITE2,WHITE2,WHITE2
    DB BLACK,WHITE2,WHITE2,WHITE2
    ; DB BLACK,WHITE1,MID_GREEN1,MID_GREEN0

    SG_FLASH DB BLACK,WHITE3,WHITE3,WHITE3

    ; Attract mode sprite palette

    AT_SPR_PAL DB BLACK,BLUE2,BLUE2,BLUE1
    DB BLACK,ORANGE2,ORANGE1,ORANGE0
    DB BLACK,GREEN3,GREEN2,GREEN1
    DB BLACK,ORANGE3,ORANGE2,ORANGE1

    ; Sprite palette for Singe's bits

    SG_PAL DB BLACK,WHITE3,PURPLE2,PURPLE1

    MI_F DB BLACK

    ;======================================


    B38_END
    IF B38_END>$9FFF
    PRINTF "**** BANK $38 too long !! ****"
    ENDIF

    ; End of bank $38
    ; --- -- ---- ---
    ;--------------------------------------
    ; Start of bank $37
    ; ----- -- ---- ---

    ORG $137,$A000

    ; Include screen maps
    ; ------- ------ ----

    INCLUDE "GR_SMAP2.SRC"

    B37_END
    IF B37_END>$BFFF
    PRINTF "**** BANK $37 too long !! ****"
    ENDIF


    ; End of bank $37
    ; --- -- ---- ---
    ;--------------------------------------
    ; Start of bank $36
    ; ----- -- ---- ---

    ORG $136,$8000

    ; Include the ZZ_ and BM_ data for SPR_DRAW
    ; ------- --- --- --- --- ---- --- --------

    INCLUDE "GR_MAP.SRC"
    INCLUDE "GR_MAP2.SRC"
    INCLUDE "GR_MAP3.SRC"


    ; ZZ_ and BM_ maps for test sprite

    BM_TEST DB %11000000
    DB %11000000

    ZZ_TEST DB 30,30,30,30



    B36_END
    IF B36_END>$9FFF
    PRINTF "**** BANK $36 too long !! ****"
    ENDIF


    ; End of bank $36
    ; --- -- ---- ---

    ;--------------------------------------
    ; Start of bank $34+35
    ; ----- -- ---- ------

    ORG $134,$8000

    INCBIN "SCRBLK.INC"

    B35_END
    IF B35_END>$BFFF
    PRINTF "**** BANK $34+$35 too long !! ****"
    ENDIF


    ; End of bank $34+$35
    ; --- -- ---- -------
    ;--------------------------------------
    ; Start of bank $32
    ; ----- -- ---- ---

    ORG $132,$8000

    ;--------------------------------------

    INCBIN "ATTR.INC"

    ;--------------------------------------
    ; Collapsing floor collision tables.(X,Screen address)
    ; ---------- ----- --------- ------ ----------------

    ; Screen 0 - Drawbridge

    SCR0_COLAP_TAB
    DW 104,9024+13
    DW 112,9024+14
    DW 120,9024+15

    DW $FFFF


    ; Screen 3 - Grim reaper

    SCR3_COLAP_TAB

    ; Gr #1
    DW 88,9024+11
    DW 96,9024+12
    DW 104,9024+13
    DW 136,9024+17
    DW 144,9024+18
    DW 152,9024+19
    DW 184,9024+23
    DW 192,9024+24
    DW 200,9024+25
    DW 232,9024+29
    DW 240,9024+30
    DW 248,9024+31

    ; Gr #3
    DW 512+152,8896+19
    DW 512+160,8896+20
    DW 512+168,8896+21

    ; Gr #6
    DW 1280+208,9984+26
    DW 1280+216,9984+27
    DW 1280+224,9984+28
    DW 1280+232,9984+29

    ; Gr #7
    DW 1536+8,8960+1
    DW 1536+16,8960+2
    DW 1536+24,8960+3
    DW 1536+32,8960+4
    DW 1536+40,8960+5
    DW 1536+72,8960+9
    DW 1536+80,8960+10
    DW 1536+88,8960+11
    DW 1536+120,9024+15
    DW 1536+128,9024+16

    ; Gr #8
    DW 1792+120,10048+15
    DW 1792+128,10048+16
    DW 1792+136,10048+17
    DW 1792+168,10112+21
    DW 1792+176,10112+22
    DW 1792+184,10112+23
    DW 1792+192,10112+24
    DW 1792+200,10112+25
    DW 1792+232,10112+29
    DW 1792+240,10112+30

    ; Gr #9
    DW 2048+16,9088+2
    DW 2048+24,9088+3
    DW 2048+32,9088+4
    DW 2048+40,9088+5
    DW 2048+192,9024+24
    DW 2048+200,9024+25
    DW 2048+208,9024+26
    DW 2048+216,9024+27
    DW 2048+248,9024+31

    ; Gr #10
    DW 2304+0,10048+0
    DW 2304+8,10048+1
    DW 2304+16,10048+2
    DW 2304+48,10048+6
    DW 2304+56,10048+7
    DW 2304+64,10048+8
    DW 2304+72,10048+9
    DW 2304+104,10048+13
    DW 2304+112,10048+14

    ; Gr #11
    DW 2560+32,9024+4
    DW 2560+40,9024+5
    DW 2560+48,9024+6
    DW 2560+80,9024+10
    DW 2560+88,9024+11
    DW 2560+200,9024+25
    DW 2560+232,9024+29
    DW 2560+240,9024+30

    ; Gr

    DW $FFFF

    ;--------------------------------------

    B32_END
    IF B32_END>$BFFF
    PRINTF "**** BANK $32 too long !! ****"
    ENDIF


    ; End of bank $32
    ; --- -- ---- ---
    ;--------------------------------------
    ; Start of bank $30/31
    ; ----- -- ---- ------

    ORG $130,$8000

    MUSIC_BASE INCBIN "MUSIC.INC"

    FX_INIT EQU MUSIC_BASE+0
    FX_TRIGGER1 EQU MUSIC_BASE+3
    FX_PROCESS EQU MUSIC_BASE+6
    MUSIC_TRIGGER EQU MUSIC_BASE+9
    MUSIC_PROCESS EQU MUSIC_BASE+12



    B30_END
    IF B30_END>$BFFF
    PRINTF "**** BANK $30 too long !! ****"
    ENDIF


    ; End of bank $30/$31
    ; --- -- ---- -------
    ;======================================
    IF EPROM=99
    SEND COMPUTER1
    ENDIF
    IF EPROM=98
    SEND MSDOS,"C:\PDSMAST\DLAIRFCS\EPROM\DL.PDS"
    ENDIF

    ; -------------------------------------------------------------
    ; Print memory usage messages
    ; ----- ------ ----- --------

    PRINTF "Bank $3F has %d bytes free",$FFFF-B3F_END
    PRINTF "Bank $3C/D has %d bytes free",$C000-B3D_END
    PRINTF "Bank $3A/B has %d bytes free",$C000-B3B_END
    PRINTF "Bank $39 has %d bytes free",$C000-B39_END
    PRINTF "Bank $38 has %d bytes free",$A000-B38_END
    PRINTF "Bank $37 has %d bytes free",$C000-B37_END
    PRINTF "Bank $36 has %d bytes free",$A000-B36_END
    PRINTF "Bank $34 has %d bytes free",$C000-B35_END
    PRINTF "Bank $32/3 has %d bytes free",$C000-B32_END
    PRINTF "Bank $30/1 has %d bytes free",$C000-B30_END

    END


    ; End of file: DLAIR.ASM
    ; --- -- ---- ---------

    ize
    LDA #2
    STA ZPAGE_BYTE2 ;Ysize
    JSR DRAW_CHR_BLOCK ;Draw disc

    SET16 ZPAGE_WORD1,ATTRWALL0
    JSR SI_SET_ATTR ;Set screen attributes
    JSR SET_PA ;Reset panel attributes

    JSR SET_S0 ;Set to screen 0

    LDA #104
    STA DIRK_X
    LDA #167
    STA DIRK_Y

    LDX #0
    STX ELEV_CNT ;Brick scroll position

    LDY #1
    JMP INIT_SCR_END


    ; 1a) Normal screen

    INIT_STATIC
    INY
    LDA (ZPAGE_WORD10),Y ;Screen number
    JSR DRAW_SCREEN ;Draw normal screen

    LDY #2
    LDA (ZPAGE_WORD10),Y
    STA ZPAGE_WORD1 ;Setup WORD1 as pointer
    INY ;to attribute map
    LDA (ZPAGE_WORD10),Y
    STA ZPAGE_WORD1+1
    JSR SI_SET_ATTR ;Draw screen attributes

    JSR SET_S0 ;Set to screen 0

    LDY #4
    LDA (ZPAGE_WORD10),Y
    STA DIRK_Y

    LDA #12
    STA DIRK_X

    LDY #5
    JMP INIT_SCR_END

    ; 1b) Draw scrolling screen

    INIT_SCROLLING

    ; Setup screen height and Y offset to top of strip

    LDX SCR_NUM
    LDA IS_SCR_YS,X
    STA SCROLL_YS
    LDA IS_SCR_YOFF,X
    STA SCROLL_YOFF

    ; Find correct reset point and setup parms for Dirk start pos and screen
    ; draw.
    INY
    LDA (ZPAGE_WORD10),Y
    STA ZPAGE_WORD1
    INY ;Setup WORD1 pointing
    LDA (ZPAGE_WORD10),Y ;at reset point
    STA ZPAGE_WORD1+1 ;table

    LDY #0
    SI_FPOS_LOOP
    LDA (ZPAGE_WORD1),Y
    STA ZPAGE_WORD2
    INY ;WORD2 is reset X
    LDA (ZPAGE_WORD1),Y
    STA ZPAGE_WORD2+1
    CMP16 DIRK_X_DIE,ZPAGE_WORD2 ;Compare against how far Dirk
    ;got last go.
    BCC SI_POS_FOUND ;Exit if reset X is greater
    TYA
    CLC
    ADC #9-1 ;Move to next entry
    TAY
    JMP SI_FPOS_LOOP
    SI_POS_FOUND
    TYA
    SEC
    SBC #9+1 ;Move back to last entry
    TAY
    LDA (ZPAGE_WORD1),Y
    STA SCROLL_XOFFSET
    INY ;Setup Dirk's X position
    LDA (ZPAGE_WORD1),Y
    STA SCROLL_XOFFSET+1
    L</div>

    moremore:

    <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'> DL 0
    ENDIF

    DL 0 ;4-

    IF SINGE
    DL S5_TP_TAB ;5 - Singe
    ELSE
    DL 0
    ENDIF

    DL S6_TP_TAB ;6 - Elevator
    DL S7_TP_TAB ;7 - Treasury

    SCR_TPTR_TABH DH S0_TP_TAB ;0 - Drawbridge

    IF HALL
    DH S1_TP_TAB ;1 - Entrance hall
    ELSE
    DH 0
    ENDIF

    IF MINES
    DH S2_TP_TAB ;2 - Mines
    ELSE
    DH 0
    ENDIF

    IF REAPER
    DH S3_TP_TAB ;3 - Grim reaper
    ELSE
    DH 0
    ENDIF

    DH 0 ;4-

    IF SINGE
    DH S5_TP_TAB ;5 - Singe
    ELSE
    DH 0
    ENDIF

    DH S6_TP_TAB ;6 - Elevator
    DH S7_TP_TAB ;7 - Treasury


    ;--------------------------------------
    ; Include graphics source files
    ; ------- -------- ------ -----

    INCLUDE "GR_SMAP1.SRC"

    ;--------------------------------------
    ; Sprite Collision boxes
    ; ------ --------- -----

    ; Table of pointers to collision boxes

    SDC_COL_PTRS_L DL SCOL_0
    DL SCOL_1
    DL SCOL_2
    DL SCOL_3
    DL SCOL_4
    DL SCOL_5
    DL SCOL_6
    DL SCOL_7
    DL SCOL_8
    DL SCOL_9
    DL SCOL_10
    DL SCOL_11
    DL SCOL_12
    DL SCOL_13
    DL SCOL_14
    DL SCOL_15
    DL SCOL_16
    DL SCOL_17
    DL SCOL_18
    DL SCOL_19
    DL SCOL_20
    DL SCOL_21
    DL SCOL_22
    DL SCOL_23
    DL SCOL_24
    DL SCOL_25
    DL SCOL_26
    DL SCOL_27
    DL SCOL_25 ;28
    DL SCOL_26 ;29
    DL SCOL_27 ;30
    DL SCOL_31
    DL SCOL_32
    DL SCOL_33
    DL SCOL_34
    DL SCOL_35
    DL SCOL_36
    DL SCOL_37
    DL SCOL_38
    DL SCOL_39
    DL SCOL_40
    DL SCOL_41
    DL SCOL_42
    DL SCOL_43
    DL SCOL_44
    DL SCOL_45
    DL SCOL_46
    DL SCOL_47

    SDC_COL_PTRS_H DH SCOL_0
    DH SCOL_1
    DH SCOL_2
    DH SCOL_3
    DH SCOL_4
    DH SCOL_5
    DH SCOL_6
    DH SCOL_7
    DH SCOL_8
    DH SCOL_9
    DH SCOL_10
    DH SCOL_11
    DH SCOL_12
    DH SCOL_13
    DH SCOL_14
    DH SCOL_15
    DH SCOL</div>

    yeah bro more!!

    <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>DA SCR_NUM
    CMP #6
    BNE SF_NOT_6

    ; Screen 6 (Elevator)

    LDA DIRK_FLAG
    AND #FCD_SEC_BIT ;Only check for exit if on
    BEQ SF_NOT_6 ;platform, else do normal bump
    ;into sides.

    LDA DIRK_X ;Test if walked off left
    CMP #L_EDGE ;or right edge of elevator
    BCC SF_OFF_ELEV
    CMP #R_EDGE
    BCS SF_OFF_ELEV

    RTS


    ; Walked off edge

    SF_OFF_ELEV
    LDX SCR_NUM_OLD ;Start correct screen
    LDA SF_ETABL,X
    STA ZPAGE_WORD1
    LDA SF_ETABH,X ;Setup W1 as pointer to
    STA ZPAGE_WORD1+1 ;exit list

    LDY ELEV_ENUM ;Number of exit from elevator
    LDA (ZPAGE_WORD1),Y ;Screen to go to
    CMP #7 ;If new screen is treasury
    BEQ !1 ;don't update SCR_NUM_OLD so
    CMP #8
    BEQ !1
    STA SCR_NUM_OLD ;It's the same elev next time
    !1 STA SCR_NUM
    JMP SCR_E_END


    SF_ETABL DL SF_EL0
    DL SF_EL1
    DL SF_EL2
    DL SF_EL3
    DL SF_EL4
    DL SF_EL5
    DL SF_EL6
    DL SF_EL7


    SF_ETABH DH SF_EL0
    DH SF_EL1
    DH SF_EL2
    DH SF_EL3
    DH SF_EL4
    DH SF_EL5
    DH SF_EL6
    DH SF_EL7


    SF_EL0 ;Drawbridge

    SF_EL1 DB 1,2,0,7 ;Entrance hall

    SF_EL2 DB 1,2,3,7 ;Mines

    SF_EL3 DB 5,2,3,7 ;Grim reaper

    SF_EL4 ;Not implemented

    SF_EL5 ;Singe

    SF_EL6 ;Elevator

    SF_EL7 ;Treasury


    SF_NOT_6

    ; Stop exit off left of screen

    LDA DIRK_X_ONSCR
    CMP #L_EDGE
    BCS SF_LOK

    LDA SCR_NUM ;Dirk exits on the left
    CMP #7 ;in the treasury
    BNE !1
    LDA END_LEVEL_FLAG ;Exit from treasury
    BNE SF_LEVEL_END
    !1
    LDA #L_EDGE+4 ;Put Dirk at left
    JSR SF_CEP

    SF_LOK

    SF_SCROLL
    LDA SCROLL_FLAG ;Is it a scrolling section
    BEQ SF_NOT_SCROLL

    LDA SCROLL_XOFFSET+1 ;Test if finished scrolling
    CMP SCROLL_LENGTH+1 ;(16 bit compare)
    BCC SF_END
    BNE !1
    LDA SCROLL_XOFFSET
    CMP SCROLL_LENGTH
    BCC SF_END


    ; Scroll h</div>

    and finally

    <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'> DH BG_COL_S2 ;Scr 2 - Mines
    DH BG_COL_S3 ;Scr 3 - Grim reaper
    DH 0 ;Scr 4 -
    DH BG_COL_S5 ;Scr 5 - Singe
    DH BG_COL_S6 ;Scr 6 - Elevator
    DH BG_COL_S7 ;Scr 7 - Treasury
    DH BG_COL_S8 ;Scr 8 - Dungeon


    ; Bonus collision data
    ; ----- --------- ----

    BONUS_TABL DL BTAB_S0
    DL BTAB_S1
    DL BTAB_S2
    DL BTAB_S3
    DL 0
    DL BTAB_S5
    DL BTAB_S6
    DL BTAB_S7
    DL BTAB_S8

    BONUS_TABH DH BTAB_S0
    DH BTAB_S1
    DH BTAB_S2
    DH BTAB_S3
    DH 0
    DH BTAB_S5
    DH BTAB_S6
    DH BTAB_S7
    DH BTAB_S8

    INCLUDE "BG_COL.SRC" ;Background</div>

    Probably the most interesting part is this:

    <!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='codemain'><!--eg1--><pre class="asm"> <span style="color: #00CC66;">IF</span> EPROM=<span style="color: #ff0000;">99</span>
    SEND COMPUTER1
    <span style="color: #00CC66;">ENDIF</span>
    <span style="color: #00CC66;">IF</span> EPROM=<span style="color: #ff0000;">98</span>
    SEND MSDOS,<span style="color: #CC33CC;">"C:\PDSMAST\DLAIRFCS\EPROM\DL.PDS"</span>
    <span style="color: #00CC66;">ENDIF</span></pre><!--gc2--><!--CUlGCUVQUk9NPTk5CglTRU5EIENPTVBVVEVSMQoJRU5ESUYKCUlGCUVQUk9NPTk4CglTRU5EIE1TRE9T
    LCZxdW90O0M6JiMwOTI7UERTTUFTVCYjMDkyO0RMQUlSRkNTJiMwOTI7RVBST00mIzA5MjtETC5QRFMmc
    XVvdDsKICAgICAgICAgICAgIAlFTkRJRg==--><!--egc2--><!--g2--></div><!--eg2-->

    PDSMAST seems to be a very obscure DOS program that archives/backs up code from a master tape. As you can see, the game (even though it's the Japanese revision) still compiles with DOS. Yet the backup directory is DLAIRFCS meaning it's for the FAMICOM SYSTEM.

    Nifty, I hope Nintendo still has these backups somewhere...
     
  6. SegaLoco

    SegaLoco

    W)(at did you say? Misfit
    <!--quoteo(post=409213:date=Feb 11 2010, 04:28 PM:name=Overlord)--><div class='quotetop'>QUOTE (Overlord @ Feb 11 2010, 04:28 PM) <a href="index.php?act=findpost&pid=409213">[​IMG]</a></div><div class='quotemain'><!--quotec-->
    Code (Text):
    1. ; UHH- HERE CLEAR ALL PUCKX AND THAT SHIT...
    Man, these guys are just as professional with their commenting as I am =P<!--QuoteEnd--></div><!--QuoteEEnd-->
    Oh, god, ahahahaha, there is another upside to official code left in stuff, you get to see how lovely programmers were. How does this stuff find it's way into roms in the first place, do they accidentally incbin instead of include or something stupid like that?
     
  7. Glisp

    Glisp

    That one weird guy that does stuff. Member
    1,278
    1
    16
    Bloomington, IN
    None at the moment I'm afraid.
    In the Dinosaur Hunting Sim series, Carnivores the Carnivores 2 and Ice Age Source code have left overs from the Carnivores 1 source code. Unfortunately, I don't have the source code and even if I did I wouldn't be able to share it due to an agreement with the developers not to redistribute it. However, I do know that they exist because I'm friends with a couple of dudes who are creating a mod with the source code.

    Of course this is because the game engine was based off the Carnivores 1 game engine so its no surprise really.
     
  8. Chilly Willy

    Chilly Willy

    Tech Member
    746
    0
    0
    Doom 32X
    <!--quoteo(post=409589:date=Feb 12 2010, 04:49 PM:name=SegaLoco)--><div class='quotetop'>QUOTE (SegaLoco @ Feb 12 2010, 04:49 PM) <a href="index.php?act=findpost&pid=409589">[​IMG]</a></div><div class='quotemain'><!--quotec--><!--quoteo(post=409213:date=Feb 11 2010, 04:28 PM:name=Overlord)--><div class='quotetop'>QUOTE (Overlord @ Feb 11 2010, 04:28 PM) <a href="index.php?act=findpost&pid=409213">[​IMG]</a></div><div class='quotemain'><!--quotec-->
    Code (Text):
    1. ; UHH- HERE CLEAR ALL PUCKX AND THAT SHIT...
    Man, these guys are just as professional with their commenting as I am =P<!--QuoteEnd--></div><!--QuoteEEnd-->
    Oh, god, ahahahaha, there is another upside to official code left in stuff, you get to see how lovely programmers were. How does this stuff find it's way into roms in the first place, do they accidentally incbin instead of include or something stupid like that?
    <!--QuoteEnd--></div><!--QuoteEEnd-->

    More likely they assembled the program, then dumped a section of memory to disk to make the binary, not realizing (or not caring) that the memory also had bits of code in it as well as the assembled code.
     
  9. evilhamwizard

    evilhamwizard

    Researcher
    1,351
    276
    63
    Besides the usual pirate, here's one more NES game that caught my eye. Nothing substantial but it's one of a Japanese game. No it's not Air Fortress, but it's a game called Puss n Boots. This snippet is only in the US version AFAIK and I can't find a EU version. The Japanese version doesn't have anything.

    The comments are in Japanese too - neato. :)

    Code (Text):
    1. &nbsp;&nbsp;&nbsp;&nbsp;JSR&nbsp;&nbsp;&nbsp;&nbsp;STEKA
    2. &nbsp;&nbsp;&nbsp;&nbsp;LDA&nbsp;&nbsp;&nbsp;&nbsp;#0
    3. &nbsp;&nbsp;&nbsp;&nbsp;STA&nbsp;&nbsp;&nbsp;&nbsp;NWK
    4. &nbsp;&nbsp;&nbsp;&nbsp;JSR&nbsp;&nbsp;&nbsp;&nbsp;RANDOM
    5. &nbsp;&nbsp;&nbsp;&nbsp;AND&nbsp;&nbsp;&nbsp;&nbsp;#11B
    6. &nbsp;&nbsp;&nbsp;&nbsp;BNE&nbsp;&nbsp;&nbsp;&nbsp;:NOTAI&nbsp;&nbsp;&nbsp;&nbsp;; 3/4 not taikyaku
    7. &nbsp;&nbsp;&nbsp;&nbsp;LDA&nbsp;&nbsp;&nbsp;&nbsp;#1&nbsp;&nbsp;&nbsp;&nbsp;; Taikyaku bit on (icchokusen ni mukau)
    8. :NOTAI:
    9. &nbsp;&nbsp;&nbsp;&nbsp;ORA&nbsp;&nbsp;&nbsp;&nbsp;TEKSTS,X
    10. &nbsp;&nbsp;&nbsp;&nbsp;BNE&nbsp;&nbsp;&nbsp;&nbsp;:JPCUT
    11.  
    12. STSHIP:
    13. SMOGU:
    14. &nbsp;&nbsp;&nbsp;&nbsp;JSR&nbsp;&nbsp;&nbsp;&nbsp;STTEKY
    15. &nbsp;&nbsp;&nbsp;&nbsp;JSR&nbsp;&nbsp;&nbsp;&nbsp;X0orFF
    16. &nbsp;&nbsp;&nbsp;&nbsp;JSR&nbsp;&nbsp;&nbsp;&nbsp;RN3F20&nbsp;&nbsp;&nbsp;&nbsp;; 20H..60H
    17. &nbsp;&nbsp;&nbsp;&nbsp;STA&nbsp;&nbsp;&nbsp;&nbsp;TEKTIM,X
    18. &nbsp;&nbsp;&nbsp;&nbsp;JMP&nbsp;&nbsp;&nbsp;&nbsp;:CNT3
    19.  
    20. SHCATA:
    21. SHCATC:
    22. &nbsp;&nbsp;&nbsp;&nbsp;JSR&nbsp;&nbsp;&nbsp;&nbsp;STTEKY
    23. &nbsp;&nbsp;&nbsp;&nbsp;LDA&nbsp;&nbsp;&nbsp;&nbsp;#0FFH
    24. &nbsp;&nbsp;&nbsp;&nbsp;STA&nbsp;&nbsp;&nbsp;&nbsp;TEKXH,X
    25. &nbsp;&nbsp;&nbsp;&nbsp;RTS
    26.  
    27.  
    28. STPLANE:
    29. STBALOON:
    30. STSENSUI:
    31. &nbsp;&nbsp;&nbsp;&nbsp;JSR&nbsp;&nbsp;&nbsp;&nbsp;STTEKY
    32. &nbsp;&nbsp;&nbsp;&nbsp;JSR&nbsp;&nbsp;&nbsp;&nbsp;X0orFF
    33. &nbsp;&nbsp;&nbsp;&nbsp;ASL&nbsp;&nbsp;&nbsp;&nbsp;TEKANG,X
    34. &nbsp;&nbsp;&nbsp;&nbsp;ASL&nbsp;&nbsp;&nbsp;&nbsp;TEKANG,X; 0 or 4
    35. :CNT3:
    36. &nbsp;&nbsp;&nbsp;&nbsp;LDA&nbsp;&nbsp;&nbsp;&nbsp;#3-1
    37. &nbsp;&nbsp;&nbsp;&nbsp;STA&nbsp;&nbsp;&nbsp;&nbsp;TEKHIT,X; 3 patsu de shinu !
    38. &nbsp;&nbsp;&nbsp;&nbsp;RTS
    39.  
    40. SHAMB:
    41. SUP1:
    42. SBOOTS:
    43. SD1000:
    44. SD2000:
    45. SD3000:
    46. &nbsp;&nbsp;&nbsp;&nbsp;PROC
    47. &nbsp;&nbsp;&nbsp;&nbsp;JSR&nbsp;&nbsp;&nbsp;&nbsp;STTEKY
    48. &nbsp;&nbsp;&nbsp;&nbsp;LDA&nbsp;&nbsp;&nbsp;&nbsp;#0FFH
    49. &nbsp;&nbsp;&nbsp;&nbsp;STA&nbsp;&nbsp;&nbsp;&nbsp;TEKXH,X
    50. &nbsp;&nbsp;&nbsp;&nbsp;LDA&nbsp;&nbsp;&nbsp;&nbsp;TEKKND,X
    51. &nbsp;&nbsp;&nbsp;&nbsp;SEC
    52. &nbsp;&nbsp;&nbsp;&nbsp;SBC&nbsp;&nbsp;&nbsp;&nbsp;#28
    53. &nbsp;&nbsp;&nbsp;&nbsp;TAY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; Y=0..5
    54. &nbsp;&nbsp;&nbsp;&nbsp;LDA&nbsp;&nbsp;&nbsp;&nbsp;:BOONO,Y
    55. &nbsp;&nbsp;&nbsp;&nbsp;STA&nbsp;&nbsp;&nbsp;&nbsp;TEKPNO,X; Pattern number set
    56. &nbsp;&nbsp;&nbsp;&nbsp;LDA&nbsp;&nbsp;&nbsp;&nbsp;#0
    57. &nbsp;&nbsp;&nbsp;&nbsp;STA&nbsp;&nbsp;&nbsp;&nbsp;TEKCTL,X; Control & color set
    58. &nbsp;&nbsp;&nbsp;&nbsp;RTS
    59. :BOONO:
    60. &nbsp;&nbsp;&nbsp;&nbsp;DB&nbsp;&nbsp;&nbsp;&nbsp;19,11,16,18,18,18
    61.  
    62. RN3F20:
    63. &nbsp;&nbsp;&nbsp;&nbsp;JSR&nbsp;&nbsp;&nbsp;&nbsp;RANDOM
    64. &nbsp;&nbsp;&nbsp;&nbsp;AND&nbsp;&nbsp;&nbsp;&nbsp;#3FH
    65. &nbsp;&nbsp;&nbsp;&nbsp;ADC&nbsp;&nbsp;&nbsp;&nbsp;#20H
    66. &nbsp;&nbsp;&nbsp;&nbsp;RTS
    67.  
    68. ;@@@@@@@@ KOKOKARAHAJIME 04/27 @@@@@@@@@
    69. ; 89/04/27 Tsuika
    70. STARU:&nbsp;&nbsp;&nbsp;&nbsp;;40: Taru
    71. SSHA:&nbsp;&nbsp;&nbsp;&nbsp;;41: Sharin
    72. SUMA:&nbsp;&nbsp;&nbsp;&nbsp;;43: Uma !
    But alas, it's just a small fragment.
     
  10. Puto

    Puto

    Shin'ichi Kudō, detective. Tech Member
    2,013
    0
    16
    Portugal, Oeiras
    Part of Team Megamix, but haven't done any actual work in ages.
    Comments in rômaji? o_O
     
  11. SegaLoco

    SegaLoco

    W)(at did you say? Misfit
    @ChillyWilly: was there no equiv to /dev/zero on DOS nor an align macro in their assembler, or were they just lazy. =P (Sorry for no quote, on PSP)
     
  12. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    18,314
    409
    63
    Berkshire, England
    Learning Cymraeg
    <!--quoteo(post=409683:date=Feb 13 2010, 04:24 AM:name=Puto)--><div class='quotetop'>QUOTE (Puto @ Feb 13 2010, 04:24 AM) <a href="index.php?act=findpost&pid=409683">[​IMG]</a></div><div class='quotemain'><!--quotec-->Comments in rômaji? o_O<!--QuoteEnd--></div><!--QuoteEEnd-->
    Probably they were working on systems that only had ANSI or something.
     
  13. Chilly Willy

    Chilly Willy

    Tech Member
    746
    0
    0
    Doom 32X
    <!--quoteo(post=409707:date=Feb 12 2010, 10:43 PM:name=SegaLoco)--><div class='quotetop'>QUOTE (SegaLoco @ Feb 12 2010, 10:43 PM) <a href="index.php?act=findpost&pid=409707">[​IMG]</a></div><div class='quotemain'><!--quotec-->@ChillyWilly: was there no equiv to /dev/zero on DOS nor an align macro in their assembler, or were they just lazy. =P (Sorry for no quote, on PSP)<!--QuoteEnd--></div><!--QuoteEEnd-->

    I'm not aware of anything similar to /dev/zero on DOS, and assemblers vary considerably. Some assemblers had "align", some required you to make a macro for it, and other had other facilities for alignment, like the "even" directive. Even when you had "align", some assemblers use the argument directly while others use the argument as a power of 2.
     
  14. I believe a few Satellaview ROM dumps have examples of these, but I can't read it all that well. Hrm.
     
  15. SegaLoco

    SegaLoco

    W)(at did you say? Misfit
    <!--quoteo(post=410180:date=Feb 13 2010, 10:11 PM:name=Chilly Willy)--><div class='quotetop'>QUOTE (Chilly Willy @ Feb 13 2010, 10:11 PM) <a href="index.php?act=findpost&pid=410180">[​IMG]</a></div><div class='quotemain'><!--quotec--><!--quoteo(post=409707:date=Feb 12 2010, 10:43 PM:name=SegaLoco)--><div class='quotetop'>QUOTE (SegaLoco @ Feb 12 2010, 10:43 PM) <a href="index.php?act=findpost&pid=409707">[​IMG]</a></div><div class='quotemain'><!--quotec-->@ChillyWilly: was there no equiv to /dev/zero on DOS nor an align macro in their assembler, or were they just lazy. =P (Sorry for no quote, on PSP)<!--QuoteEnd--></div><!--QuoteEEnd-->

    I'm not aware of anything similar to /dev/zero on DOS, and assemblers vary considerably. Some assemblers had "align", some required you to make a macro for it, and other had other facilities for alignment, like the "even" directive. Even when you had "align", some assemblers use the argument directly while others use the argument as a power of 2.
    <!--QuoteEnd--></div><!--QuoteEEnd-->
    I'm just saying, you said they probably dumped memory to write the ROM to the right size, why not just zero or nop it out =P.
     
  16. Chilly Willy

    Chilly Willy

    Tech Member
    746
    0
    0
    Doom 32X
    <!--quoteo(post=411521:date=Feb 16 2010, 03:45 PM:name=SegaLoco)--><div class='quotetop'>QUOTE (SegaLoco @ Feb 16 2010, 03:45 PM) <a href="index.php?act=findpost&pid=411521">[​IMG]</a></div><div class='quotemain'><!--quotec--><!--quoteo(post=410180:date=Feb 13 2010, 10:11 PM:name=Chilly Willy)--><div class='quotetop'>QUOTE (Chilly Willy @ Feb 13 2010, 10:11 PM) <a href="index.php?act=findpost&pid=410180">[​IMG]</a></div><div class='quotemain'><!--quotec--><!--quoteo(post=409707:date=Feb 12 2010, 10:43 PM:name=SegaLoco)--><div class='quotetop'>QUOTE (SegaLoco @ Feb 12 2010, 10:43 PM) <a href="index.php?act=findpost&pid=409707">[​IMG]</a></div><div class='quotemain'><!--quotec-->@ChillyWilly: was there no equiv to /dev/zero on DOS nor an align macro in their assembler, or were they just lazy. =P (Sorry for no quote, on PSP)<!--QuoteEnd--></div><!--QuoteEEnd-->

    I'm not aware of anything similar to /dev/zero on DOS, and assemblers vary considerably. Some assemblers had "align", some required you to make a macro for it, and other had other facilities for alignment, like the "even" directive. Even when you had "align", some assemblers use the argument directly while others use the argument as a power of 2.
    <!--QuoteEnd--></div><!--QuoteEEnd-->
    I'm just saying, you said they probably dumped memory to write the ROM to the right size, why not just zero or nop it out =P.
    <!--QuoteEnd--></div><!--QuoteEEnd-->

    If they are so lazy they just dump memory to get the binary, what makes you think they'd bother to clear the parts that aren't part of the actual binary? :specialed:
    :)
     
  17. SegaLoco

    SegaLoco

    W)(at did you say? Misfit
    <!--quoteo(post=412328:date=Feb 17 2010, 09:46 PM:name=Chilly Willy)--><div class='quotetop'>QUOTE (Chilly Willy @ Feb 17 2010, 09:46 PM) <a href="index.php?act=findpost&pid=412328">[​IMG]</a></div><div class='quotemain'><!--quotec--><!--quoteo(post=411521:date=Feb 16 2010, 03:45 PM:name=SegaLoco)--><div class='quotetop'>QUOTE (SegaLoco @ Feb 16 2010, 03:45 PM) <a href="index.php?act=findpost&pid=411521">[​IMG]</a></div><div class='quotemain'><!--quotec--><!--quoteo(post=410180:date=Feb 13 2010, 10:11 PM:name=Chilly Willy)--><div class='quotetop'>QUOTE (Chilly Willy @ Feb 13 2010, 10:11 PM) <a href="index.php?act=findpost&pid=410180">[​IMG]</a></div><div class='quotemain'><!--quotec--><!--quoteo(post=409707:date=Feb 12 2010, 10:43 PM:name=SegaLoco)--><div class='quotetop'>QUOTE (SegaLoco @ Feb 12 2010, 10:43 PM) <a href="index.php?act=findpost&pid=409707">[​IMG]</a></div><div class='quotemain'><!--quotec-->@ChillyWilly: was there no equiv to /dev/zero on DOS nor an align macro in their assembler, or were they just lazy. =P (Sorry for no quote, on PSP)<!--QuoteEnd--></div><!--QuoteEEnd-->

    I'm not aware of anything similar to /dev/zero on DOS, and assemblers vary considerably. Some assemblers had "align", some required you to make a macro for it, and other had other facilities for alignment, like the "even" directive. Even when you had "align", some assemblers use the argument directly while others use the argument as a power of 2.
    <!--QuoteEnd--></div><!--QuoteEEnd-->
    I'm just saying, you said they probably dumped memory to write the ROM to the right size, why not just zero or nop it out =P.
    <!--QuoteEnd--></div><!--QuoteEEnd-->

    If they are so lazy they just dump memory to get the binary, what makes you think they'd bother to clear the parts that aren't part of the actual binary? :specialed:
    :)
    <!--QuoteEnd--></div><!--QuoteEEnd-->
    Ah, okay =B
     
  18. evilhamwizard

    evilhamwizard

    Researcher
    1,351
    276
    63
    Yay, if it weren't for SegaSaturno yesterday this topic would've been dead yet.

    Yesterday SegaSaturno released yet another unreleased 32X game ~ the abandoned 32X port of SoulStar X from the Sega CD. There are TONS of code fragments, DOS files (I think the actual editor for the source code is partially in the rom), a bat file for compiling, as well as other unknown stuff (a symbol list maybe?). I need your help with this one, because there's A LOT. I'm only going through the stuff that's formatted. There are tons of other strings in the prototype as well.

    For reference, you can download the prototype <a href="http://www.rapidspread.com/file.jsp?id=hjhwjuigoh" target="_blank">here</a>.

    Let's begin!

    [codebox]; PWM Sample Program
    ; SH2 Master Main
    ;
    ; Copyright SEGA ENTERPRISES,LTD. 1994
    ;---------------------------------------------------------------*
    ;****************************************************************

    cnop 0,4

    ******************************************
    * Initialize the PWM interupt and driver *
    ******************************************

    initPWM
    move #$20004030,r2
    move #1047,r0 ;1047 set cycle register (22Khz)
    move.w r0,(2,r2)

    move #$0305,r0 ;105 set control register
    move.w r0,(r2)

    move #$20004030,r2 ;fill mono fifo
    move #1,r0
    move.w r0,(8,r2)
    move.w r0,(8,r2)
    move.w r0,(8,r2)

    rts
    nop

    cnop 0,4

    lits

    cnop 0,4

    ************************************************
    * Play an 8 bit sample throught the PWM ciruit *
    ************************************************
    ; input
    ; R1 = Address of sample
    ; R2 = length of sample
    ; R3 = channel number
    ; R4 = step value

    PlayPWM
    move #comport1,r0
    move.w (r0)+,r1 ;get sfx number
    move.w (r0)+,r4 ;get step rate
    move.w (r0)+,r2 ;get volume

    move #sample_table,r0
    shll2 r1
    shll r1
    add r1,r0
    move (r0)+,r2 ;get length
    move (r0)+,r1 ;get address

    move #sfx_chan,r5 ;get channel to play
    move (r5),r0
    add #1,r0
    and #3,r0
    move r0,(r5)
    move r0,r3

    move r2,r0
    shll8 r0
    move #pwmstructs+TH,r2
    shll2 r3
    shll2 r3
    add r3,r2
    move r0,(r2) ;store sample length (bytes)

    cmpeq #0,r0
    bt .done_pwm

    move r4,(PWMSTEP,r2) ;store step rate
    shll8 r1
    move r1,(PWMADDR,r2) ;store sample address

    .done_pwm
    rts
    nop

    cnop 0,4

    sfx_chan dc.l 0

    lits

    *************************
    * PWM interrupt handler *
    *************************

    cnop 0,4
    spwm_irq
    push r0
    push r1
    push r2
    push r3
    push r4
    push r5
    push r6

    move #$20004038,r2
    move.b (r2),r0 ;is pwm fifo full?
    tst #$80,r0
    bf .exit

    push pr
    bsr process_pwm
    nop
    pop pr
    .exit
    move #_FRT,r1 ;tweak FRT
    move.b (_TOCR,r1),r0
    xor #$02,r0
    move.b r0,(_TOCR,r1)

    move #$2000401C,r2 ;clear irq
    move.w r0,(r2)
    move.w (r2),r0

    pop r6
    pop r5
    pop r4
    pop r3
    pop r2
    pop r1
    pop r0

    rts
    nop

    LITS

    cnop 0,4

    NUMCHANNELS equ 4
    PWMSIZE equ 4 ; number of elemts in the PWM structure

    PWMADDR equ 4
    PWMSTEP equ 8

    *****************
    * Fill PWM FIFO *
    *****************

    process_pwm
    move #$20004038,r2
    .loop
    move #pwmstructs+TH,r3
    move #NUMCHANNELS,r4
    move #0,r5

    .channelloop
    move (r3),r0 ;is channel on?
    cmppz r0
    bf/s .skip
    move.w #$80,r1 ;if channel off, use $7f (flat)

    move (PWMSTEP,r3),r6
    sub r6,r0
    move r0,(r3)

    move (PWMADDR,r3),r0 ;get the next pcm byte
    move r0,r1
    add r6,r0
    move r0,(PWMADDR,r3)
    shlr8 r1
    move #samp_base,r0
    move.b (r0,r1),r1
    extu.b r1,r1
    .skip
    add #PWMSIZE*4,r3

    add #1,r1 ;make sure it's not 0
    add r1,r5

    dt r4
    bf .channelloop

    move.w r5,(r2) ;store into mono width

    move.b (r2),r0 ;is pwm fifo full?
    tst #$80,r0
    bt .loop

    rts
    nop

    LITS

    pwmstructrotate_player_sprite[/codebox]

    More!

    <!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='geshimain'><!--eg1--><pre class="asm">* rotate sprite routine *
    *************************
    &nbsp;
    cnop <span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">4</span>
    &nbsp;
    rotate_player
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>comport1,r0 <span style="color: #adadad; font-style: italic;">;get level</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r1
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r2
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r3
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r4
    shll2 r4
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>frame_table,r0
    <span style="color: #00bfff;">move</span> <span style="">(</span>r0,r4<span style="">)</span>,r4
    &nbsp;
    * R1 = xpos
    * R2 = ypos
    * R3 = angle
    * R4 = <span style="color: #00CC66;">ptr</span> to source <span style="color: #00CC66;">data</span>
    &nbsp;
    rot_spr
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>divider_unit,r14
    &nbsp;
    push r1 <span style="color: #adadad; font-style: italic;">;xpos</span>
    push r2 <span style="color: #adadad; font-style: italic;">;ypos</span>
    &nbsp;
    shll r3
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>sintab,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0,r3<span style="">)</span>,r13 <span style="color: #adadad; font-style: italic;">;sine (Dy)</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>costab,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0,r3<span style="">)</span>,r12 <span style="color: #adadad; font-style: italic;">;cosine (Dx)</span>
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r4<span style="">)</span>+,r8 <span style="color: #adadad; font-style: italic;">;xsize</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r4<span style="">)</span>+,r9 <span style="color: #adadad; font-style: italic;">;ysize</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> r12,r10 <span style="color: #adadad; font-style: italic;">;xadd</span>
    <span style="color: #00bfff;">move</span> r13,r11 <span style="color: #adadad; font-style: italic;">;yadd</span>
    <span style="color: #00bfff;">add</span> r10,r10
    <span style="color: #00bfff;">add</span> r11,r11
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>rline_buf,r0 <span style="color: #adadad; font-style: italic;">;offset table</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r1 <span style="color: #adadad; font-style: italic;">;dstX</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r2 <span style="color: #adadad; font-style: italic;">;dstY</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">320</span>,r3
    &nbsp;
    <span style="color: #00bfff;">move</span> r8,r7
    .loop
    <span style="color: #00bfff;">swap</span>.<span style="color: #00bfff;">w</span> r2,r14 <span style="color: #adadad; font-style: italic;">;Yint * 320</span>
    exts.<span style="color: #00bfff;">w</span> r14,r14
    dmuls r3,r14
    <span style="color: #00bfff;">swap</span>.<span style="color: #00bfff;">w</span> r1,r5
    exts.<span style="color: #00bfff;">w</span> r5,r5
    <span style="color: #00bfff;">move</span> macl,r14
    <span style="color: #00bfff;">add</span> r5,r14 <span style="color: #adadad; font-style: italic;">;+ Xint</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r14,<span style="">(</span>r0<span style="">)</span> <span style="color: #adadad; font-style: italic;">;store xy pos</span>
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,r0
    &nbsp;
    <span style="color: #00bfff;">add</span> r10,r1
    <span style="color: #00bfff;">add</span> r11,r2
    &nbsp;
    <span style="color: #00CC66;">dt</span> r7
    bf .loop
    &nbsp;
    pop r2
    pop r1
    &nbsp;
    shll16 r1
    shll16 r2
    &nbsp;
    <span style="color: #00bfff;">move</span> r4,r0
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">4</span>,r0
    .yloop
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>overwrite,r3
    <span style="color: #00bfff;">move</span> r1,r5
    shlr16 r5
    exts.<span style="color: #00bfff;">w</span> r5,r5
    <span style="color: #00bfff;">add</span> r5,r3
    <span style="color: #00bfff;">move</span> r2,r5
    shlr16 r5
    exts.<span style="color: #00bfff;">w</span> r5,r5
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">320</span>,r4
    dmuls r4,r5
    <span style="color: #00bfff;">move</span> macl,r5
    <span style="color: #00bfff;">add</span> r5,r3
    &nbsp;
    <span style="color: #00bfff;">move</span> r8,r5
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>rline_buf,r7
    .oloop
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r7<span style="">)</span>+,r6 <span style="color: #adadad; font-style: italic;">;get screen offset</span>
    <span style="color: #00bfff;">add</span> r3,r6 <span style="color: #adadad; font-style: italic;">;add screen base addr</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> <span style="">(</span>r0<span style="">)</span>+,r4
    <span style="color: #00CC66;">dt</span> r5 <span style="color: #adadad; font-style: italic;">;R7 = line length</span>
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> r4,<span style="">(</span>r6<span style="">)</span> <span style="color: #adadad; font-style: italic;">;store pixel</span>
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,r6
    &nbsp;
    bf/<span style="color: #00bfff;">s</span> .oloop
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> r4,<span style="">(</span>r6<span style="">)</span> <span style="color: #adadad; font-style: italic;">;store pixel</span>
    &nbsp;
    <span style="color: #00bfff;">sub</span> r11,r1
    <span style="color: #00bfff;">add</span> r10,r2
    &nbsp;
    <span style="color: #00CC66;">dt</span> r9
    bf .yloop
    &nbsp;
    <span style="color: #00bfff;">rts</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    lits
    &nbsp;
    cnop <span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">4</span>
    &nbsp;
    rline_buf <span style="font-weight:bold;">ds</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">128</span>*<span style="color: #ff0000;">2</span>
    &nbsp;
    <span style="color: #adadad; font-style: italic;">;;rotate_player</span>
    <span style="color: #adadad; font-style: italic;">;; move #comport1,r0 ;get level</span>
    <span style="color: #adadad; font-style: italic;">;; move.w (r0)+,r1</span>
    <span style="color: #adadad; font-style: italic;">;; move.w (r0)+,r2</span>
    <span style="color: #adadad; font-style: italic;">;; move.w (r0)+,r3</span>
    <span style="color: #adadad; font-style: italic;">;; move.w (r0)+,r4</span>
    <span style="color: #adadad; font-style: italic;">;;</span>
    <span style="color: #adadad; font-style: italic;">;; move #sp_pl_ship00,r4</span>
    <span style="color: #adadad; font-style: italic;">;;</span>
    <span style="color: #adadad; font-style: italic;">;;* R1 = xpos</span>
    <span style="color: #adadad; font-style: italic;">;;* R2 = ypos</span>
    <span style="color: #adadad; font-style: italic;">;;* R3 = angle</span>
    <span style="color: #adadad; font-style: italic;">;;* R4 = ptr to source data</span>
    <span style="color: #adadad; font-style: italic;">;;</span>
    <span style="color: #adadad; font-style: italic;">;; cnop 0,4</span>
    <span style="color: #adadad; font-style: italic;">;;</span>
    <span style="color: #adadad; font-style: italic;">;;rot_spr</span>
    <span style="color: #adadad; font-style: italic;">;; move #divider_unit,r14</span>
    <span style="color: #adadad; font-style: italic;">;;</span>
    <span style="color: #adadad; font-style: italic;">;; push r1 ;xpos</span>
    <span style="color: #adadad; font-style: italic;">;; push r2 ;ypos</span>
    <span style="color: #adadad; font-style: italic;">;;</span>
    <span style="color: #adadad; font-style: italic;">;; shll r3</span>
    <span style="color: #adadad; font-style: italic;">;; move #sintab,r0</span>
    <span style="color: #adadad; font-style: italic;">;; move.w (r0,r3),r13 ;sine (Dy)</span>
    <span style="color: #adadad; font-style: italic;">;; move #costab,r0</span>
    <span style="color: #adadad; font-style: italic;">;; move.w (r0,r3),r12 ;cosine (Dx)</span>
    <span style="color: #adadad; font-style: italic;">;;</span>
    <span style="color: #adadad; font-style: italic;">;; move.w (r4)+,r7 ;get line length</span>
    <span style="color: #adadad; font-style: italic;">;; dmuls r12,r7</span>
    <span style="color: #adadad; font-style: italic;">;; move r7,r9</span>
    <span style="color: #adadad; font-style: italic;">;; move macl,r7</span>
    <span style="color: #adadad; font-style: italic;">;; add r7,r7</span>
    <span style="color: #adadad; font-style: italic;">;; shlr16 r7</span>
    <span style="color: #adadad; font-style: italic;">;; exts.w r7,r7</span>
    <span style="color: #adadad; font-style: italic;">;;</span>
    <span style="color: #adadad; font-style: italic;">;; move r9,r1 ;get line y height</span>
    <span style="color: #adadad; font-style: italic;">;; dmuls r13,r1</span>
    <span style="color: #adadad; font-style: italic;">;; move macl,r1</span>
    <span style="color: #adadad; font-style: italic;">;; add r1,r1</span>
    <span style="color: #adadad; font-style: italic;">;; shlr16 r1</span>
    <span style="color: #adadad; font-style: italic;">;; exts.w r1,r1</span>
    <span style="color: #adadad; font-style: italic;">;;</span>
    <span style="color: #adadad; font-style: italic;">;; shll16 r9 ;calc line source x add</span>
    <span style="color: #adadad; font-style: italic;">;; divs r7,r9 ;r9 = x adder,r7 = line length</span>
    <span style="color: #adadad; font-style: italic;">;;</span>
    <span style="color: #adadad; font-style: italic;">;; move r13,r6 ;get x adder for draw loop</span>
    <span style="color: #adadad; font-style: italic;">;; shll2 r6</span>
    <span style="color: #adadad; font-style: italic;">;;</span>
    <span style="color: #adadad; font-style: italic;">;; move.w (r4)+,r8 ;get sprite height</span>
    <span style="color: #adadad; font-style: italic;">;; dmuls r12,r8</span>
    <span style="color: #adadad; font-style: italic;">;; move r8,r10</span>
    <span style="color: #adadad; font-style: italic;">;; move macl,r8</span>
    <span style="color: #adadad; font-style: italic;">;; add r8,r8</span>
    <span style="color: #adadad; font-style: italic;">;; shlr16 r8</span>
    <span style="color: #adadad; font-style: italic;">;; exts.w r8,r8</span>
    <span style="color: #adadad; font-style: italic;">;;</span>
    <span style="color: #adadad; font-style: italic;">;; shll16 r10</span>
    <span style="color: #adadad; font-style: italic;">;; divs r0,r10 ;r10 = y adder,r8 = height</span>
    <span style="color: #adadad; font-style: italic;">;;</span>
    <span style="color: #adadad; font-style: italic;">;; push r7 ;</span>
    <span style="color: #adadad; font-style: italic;">;; push r8 ;</span>
    <span style="color: #adadad; font-style: italic;">;; push r10 ;</span>
    <span style="color: #adadad; font-style: italic;">;;</span>
    <span style="color: #adadad; font-style: italic;">;; move #320,r10 ;address yadd</span>
    <span style="color: #adadad; font-style: italic;">;; cmppz r1</span>
    <span style="color: #adadad; font-style: italic;">;; bt .1</span>
    <span style="color: #adadad; font-style: italic;">;; neg r10,r10</span>
    <span style="color: #adadad; font-style: italic;">;; neg r1,r1</span>
    <span style="color: #adadad; font-style: italic;">;;.1</span>
    <span style="color: #adadad; font-style: italic;">;; move r1,r0</span>
    <span style="color: #adadad; font-style: italic;">;; cmpeq #0,r0</span>
    <span style="color: #adadad; font-style: italic;">;; bt .2</span>
    <span style="color: #adadad; font-style: italic;">;;</span>
    <span style="color: #adadad; font-style: italic;">;; shll16 r1</span>
    <span style="color: #adadad; font-style: italic;">;; divs r8,r1</span>
    <span style="color: #adadad; font-style: italic;">;; shll16 r1 ;yadder</span>
    <span style="color: #adadad; font-style: italic;">;;.2</span>
    <span style="color: #adadad; font-style: italic;">;; move r1,r2 ;yfraction</span>
    <span style="color: #adadad; font-style: italic;">;; shar r2 ;yfraction/2</span>
    <span style="color: #adadad; font-style: italic;">;;</span>
    <span style="color: #adadad; font-style: italic;">;; move #rline_buf,r0 ;offset table</span>
    <span style="color: #adadad; font-style: italic;">;; move #0,r8 ;sourceX********************************</span>
    * 32X Initial 68K Header <span style="color: #00CC66;">Code</span>. *
    ********************************
    &nbsp;
    opt <span style="color: #00bfff;">l</span>.
    &nbsp;
    cramw equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">C0000000</span>
    icramw <span style="color: #00CC66;">macro</span>
    .val = <span style="">(</span><span style="">(</span>\<span style="color: #ff0000;">1</span><span style="">)</span>>><span style="color: #ff0000;">14</span><span style="">)</span>
    .vala = <span style="">(</span><span style="">(</span>\<span style="color: #ff0000;">1</span><span style="">)</span><<<span style="color: #ff0000;">16</span><span style="">)</span>&<span style="color: #ff0000;">111111111111110000000000000000</span>
    .val = cramw!.val!.vala
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>.val,<span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>
    <span style="color: #00CC66;">endm</span>
    &nbsp;
    <span style="color: #00CC66;">include</span> debug.inc
    &nbsp;
    l_type equ <span style="color: #ff0000;">1</span> <span style="color: #ff0000;">0</span>=eur,<span style="color: #ff0000;">1</span>=jap,<span style="color: #ff0000;">2</span>=USA
    &nbsp;
    eur = <span style="color: #ff0000;">0</span>
    jap = <span style="color: #ff0000;">1</span>
    usa = <span style="color: #ff0000;">0</span>
    &nbsp;
    marsipl equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">880000</span></span>
    &nbsp;
    acomm0 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">20</span></span> * * Communcation Reg.
    acomm2 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">22</span></span> * * Communcation Reg.
    acomm4 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">24</span></span> * * Communcation Reg.
    acomm6 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">26</span></span> * * Communcation Reg.
    acomm8 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">28</span></span> * * Communcation Reg.
    acomm9 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">29</span></span> * * Communcation Reg.
    acomm10 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">2a</span> * * Communcation Reg.
    acomm12 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">2c</span> * * Communcation Reg.
    acomm14 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">2e</span> * * Communcation Reg.
    &nbsp;
    vectors <span style="color: #00CC66;">group</span>
    header <span style="color: #00CC66;">group</span>
    code68k <span style="color: #00CC66;">group</span>
    ramcode68k <span style="color: #00CC66;">group</span>
    ramcodesh2 <span style="color: #00CC66;">group</span>
    &nbsp;
    xref master_start,slave_start,master_vbr,slave_vbr
    &nbsp;
    ***************************
    * <span style="color: #ff0000;">68000</span> vector <span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000000</span></span><span style="">)</span>. *
    ***************************
    &nbsp;
    regs pc=<span style="color: #ff0000;">$</span><span style="color: #ff0000;">3f0</span>
    regs sr=<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">2700</span></span>
    &nbsp;
    entry_point equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">000003f0</span>
    stack_top equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">00000000</span></span>
    &nbsp;
    vdp_d equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00000</span>
    vdp_c equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00004</span>
    &nbsp;
    cp_0 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">a15120</span>
    cp_2 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">a15122</span>
    cp_4 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">a15124</span>
    cp_6 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">a15126</span>
    cp_8 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">a15128</span>
    cp_a equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">a1512a</span>
    cp_c equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">a1512c</span>
    cp_e equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">a1512e</span>
    &nbsp;
    pollhost equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">fc0000</span> <span style="color: #adadad; font-style: italic;">;downloader ROM.</span>
    exception equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">fc0004</span> <span style="color: #adadad; font-style: italic;">;entry points.</span>
    &nbsp;
    <span style="color: #00CC66;">if</span> debug=<span style="color: #ff0000;">1</span>
    &nbsp;
    polhost <span style="color: #00CC66;">macro</span> <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">a000</span> <span style="color: #adadad; font-style: italic;">;poll host machine.</span>
    <span style="color: #00CC66;">endm</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00CC66;">break</span> <span style="color: #00CC66;">macro</span> <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">a002</span> <span style="color: #adadad; font-style: italic;">;software breakpoint.</span>
    <span style="color: #00CC66;">endm</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    softentry <span style="color: #00CC66;">macro</span> <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">a003</span> <span style="color: #adadad; font-style: italic;">;link to host machine.</span>
    <span style="color: #00CC66;">endm</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00CC66;">else</span>
    &nbsp;
    polhost <span style="color: #00CC66;">macro</span> <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00CC66;">endm</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00CC66;">break</span> <span style="color: #00CC66;">macro</span> <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00CC66;">endm</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    softentry <span style="color: #00CC66;">macro</span> <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00CC66;">endm</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    endc
    &nbsp;
    exc_buserror equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">02000000</span></span>+exception
    exc_addrerr equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">03000000</span></span>+exception
    exc_illinst equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">04000000</span></span>+exception
    exc_div0 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">05000000</span></span>+exception
    exc_chk equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">06000000</span></span>+exception
    exc_trapv equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">07000000</span></span>+exception
    exc_priv equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">08000000</span></span>+exception
    exc_trace equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">09000000</span></span>+exception
    exc_linea equ pollhost
    &nbsp;
    section vecs,vectors
    &nbsp;
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> stack_top <span style="color: #adadad; font-style: italic;">;Initial SSP and PC.</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> entry_point
    &nbsp;
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">0220800c</span> <span style="color: #adadad; font-style: italic;">;EX_BusError</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">0320800c</span> <span style="color: #adadad; font-style: italic;">;EX_AddressError</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">0420800c</span> <span style="color: #adadad; font-style: italic;">;EX_IllegalInstruction</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">0520800c</span> <span style="color: #adadad; font-style: italic;">;EX_DivideBy0</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">0620800c</span> <span style="color: #adadad; font-style: italic;">;EX_CHK</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">0720800c</span> <span style="color: #adadad; font-style: italic;">;EX_TrapV</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">0820800c</span> <span style="color: #adadad; font-style: italic;">;EX_Priviledge</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">0920800c</span> <span style="color: #adadad; font-style: italic;">;EX_Trace</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_LineA
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_LineF
    * Reserved by motorola
    dcb.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">12</span>,<span style="color: #ff0000;">0</span> <span style="color: #adadad; font-style: italic;">; EX_Motorola</span>
    * Hardware interrupts
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Spurious
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Level1
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Level2
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Level3
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Level4
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Level5
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Level6
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Level7
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">20208008</span></span> <span style="color: #adadad; font-style: italic;">;EX_Trap0</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Trap1
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Trap2
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Trap3
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Trap4
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Trap5
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Trap6
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Trap7
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Trap8
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_Trap9
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_TrapA
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_TrapB
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_TrapC
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_TrapD
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_TrapE
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> EXC_TrapF
    * Reserved by motorola
    &nbsp;
    dcb.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">16</span>,_error0
    &nbsp;
    *************************
    * Genesis ID <span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000100</span></span><span style="">)</span>. *
    *************************
    &nbsp;
    section hdr,header
    &nbsp;
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> <span style="color: #CC33CC;">'SEGA 32X '</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> <span style="color: #CC33CC;">'©T115 1995.APR'</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> <span style="color: #CC33CC;">'SOULSTAR X '</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> <span style="color: #CC33CC;">'SOULSTAR X '</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> <span style="color: #CC33CC;">'T-11505B-50 '</span> <span style="color: #adadad; font-style: italic;">;stuff</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">0</span> <span style="color: #adadad; font-style: italic;">;checksum.</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> <span style="color: #CC33CC;">'J '</span> <span style="color: #adadad; font-style: italic;">;joystick.</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000000</span></span> <span style="color: #adadad; font-style: italic;">;rom start.</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">1fffff</span> <span style="color: #adadad; font-style: italic;">;rom end.</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">ff0000</span> <span style="color: #adadad; font-style: italic;">;ram start.</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">ffffff</span> <span style="color: #adadad; font-style: italic;">;ram end.</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> <span style="color: #CC33CC;">'MR'</span>,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> <span style="color: #CC33CC;">' '</span>********************
    * Game <span style="color: #00CC66;">Code</span> Start. *
    ********************
    &nbsp;
    <span style="color: #00CC66;">include</span> mequates.68k
    <span style="color: #00CC66;">include</span> obj_equ.<span style="color: #00bfff;">s</span>
    &nbsp;
    ******************************************************************************
    <span style="color: #00CC66;">include</span> coms_equ.<span style="color: #00bfff;">s</span>
    &nbsp;
    com <span style="color: #00CC66;">macro</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>com_\<span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">jsr</span> send_com
    <span style="color: #00CC66;">endm</span>
    &nbsp;
    com4 <span style="color: #00CC66;">macro</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>com_\<span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">jsr</span> send_com4
    <span style="color: #00CC66;">endm</span>
    &nbsp;
    jcom <span style="color: #00CC66;">macro</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>com_\<span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">jmp</span> send_com
    <span style="color: #00CC66;">endm</span>
    &nbsp;
    jcom4 <span style="color: #00CC66;">macro</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>com_\<span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">jmp</span> send_com4
    <span style="color: #00CC66;">endm</span>
    &nbsp;
    ******************************************************************************
    &nbsp;
    no_traps equ <span style="color: #ff0000;">1</span>
    briefings equ <span style="color: #ff0000;">0</span>
    &nbsp;
    ******************************************************************************
    &nbsp;
    button_a equ <span style="color: #ff0000;">0</span>
    button_b equ <span style="color: #ff0000;">1</span>
    button_c equ <span style="color: #ff0000;">2</span>
    button_pause equ <span style="color: #ff0000;">3</span>
    button_option equ <span style="color: #ff0000;">4</span>
    button_y equ <span style="color: #ff0000;">5</span>
    button_z equ <span style="color: #ff0000;">6</span>
    &nbsp;
    ******************************************************************************
    &nbsp;
    ram_duration equ <span style="color: #ff0000;">31</span>*<span style="color: #ff0000;">20</span>
    bonus_hits equ <span style="color: #ff0000;">10</span>
    sh_del equ <span style="color: #ff0000;">4</span>
    mt_countdown08 equ <span style="color: #ff0000;">4</span>
    &nbsp;
    ******************************************************************************
    music <span style="color: #00CC66;">macro</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>cdm_\<span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">jsr</span> start_music
    <span style="color: #00CC66;">endm</span>
    &nbsp;
    cdm_title equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">00</span></span>
    cdm_boss equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">2d</span>
    cdm_l360 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">41</span></span>
    cdm_death equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">59</span></span>
    cdm_fame equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">5a</span>
    cdm_credits equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">6b</span>
    cdm_level123 equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">7b</span>
    cdm_kutra equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">93</span></span>
    cdm_gigun equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">a9</span>
    cdm_bulkan equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c1</span>
    cdm_twingha equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">d6</span>
    cdm_guha equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">ea</span>
    cdm_metafus equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">101</span></span>
    cdm_krast equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">11a</span>
    &nbsp;
    ******************************************************************************
    ******************************************
    ntempsp equ <span style="color: #ff0000;">16</span>
    nweaps equ <span style="color: #ff0000;">16</span>
    nenweap equ <span style="color: #ff0000;">16</span>
    nenemy equ <span style="color: #ff0000;">20</span>
    nfxspr equ <span style="color: #ff0000;">32</span>
    wbase equ <span style="color: #ff0000;">128</span>
    &nbsp;
    maxshield equ <span style="color: #ff0000;">30</span>
    maxacc equ <span style="color: #ff0000;">224</span>
    &nbsp;
    ******************************************************************************
    ******************************************************************************
    hp_mult equ <span style="color: #ff0000;">4</span>
    hp_shift equ <span style="color: #ff0000;">2</span>
    &nbsp;
    cpu_hits equ <span style="color: #ff0000;">128</span>*hp_mult
    guha_hits equ <span style="color: #ff0000;">512</span>*hp_mult
    bulkan_hits equ <span style="color: #ff0000;">128</span>*hp_mult <span style="color: #adadad; font-style: italic;">; Mid-Boss</span>
    bulkan2_hits equ <span style="">(</span><span style="color: #ff0000;">256</span>/<span style="color: #ff0000;">2</span><span style="">)</span>*hp_mult <span style="color: #adadad; font-style: italic;">; BOSS</span>
    metafus_hits equ <span style="color: #ff0000;">256</span>*hp_mult
    gigun_hits equ <span style="color: #ff0000;">256</span>*hp_mult
    &nbsp;
    hp_a0 <span style="color: #00CC66;">macro</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="">(</span>\<span style="color: #ff0000;">1</span><span style="">)</span>*hp_mult,en_hp<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>
    <span style="color: #00CC66;">endm</span>
    &nbsp;
    hp_a5 <span style="color: #00CC66;">macro</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="">(</span>\<span style="color: #ff0000;">1</span><span style="">)</span>*hp_mult,en_hp<span style="">(</span><span style="font-weight:bold;">a5</span><span style="">)</span>
    <span style="color: #00CC66;">endm</span>
    &nbsp;
    hp_a6 <span style="color: #00CC66;">macro</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="">(</span>\<span style="color: #ff0000;">1</span><span style="">)</span>*hp_mult,en_hp<span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>
    <span style="color: #00CC66;">endm</span>
    ******************************************************************************
    sclip equ <span style="color: #ff0000;">200</span>
    *************************************************
    pickup <span style="color: #00CC66;">macro</span>
    <span style="color: #00bfff;">dc</span> <span style="">(</span>pu_\<span style="color: #ff0000;">1</span><<<span style="color: #ff0000;">12</span><span style="">)</span>+\<span style="color: #ff0000;">2</span> <span style="color: #adadad; font-style: italic;">;tttt0mmmssssssss</span>
    <span style="color: #00CC66;">endm</span>
    pu_shield equ <span style="color: #ff0000;">0</span>
    pu_energy equ <span style="color: #ff0000;">1</span>
    pu_shot equ <span style="color: #ff0000;">2</span>
    pu_hunter equ <span style="color: #ff0000;">3</span>
    pu_ring equ <span style="color: #ff0000;">4</span>
    pu_laser equ <span style="color: #ff0000;">5</span>
    pu_missile equ <span style="color: #ff0000;">6</span>
    pu_bomb equ <span style="color: #ff0000;">7</span>
    pu_rocket equ <span style="color: #ff0000;">8</span>
    pu_charge equ <span style="color: #ff0000;">9</span>
    ******************************************************************************
    odb <span style="color: #00CC66;">macro</span>
    <span style="color: #00bfff;">dc</span> \<span style="color: #ff0000;">1</span> <span style="color: #adadad; font-style: italic;">;col-dist</span>
    <span style="color: #00bfff;">dc</span> \<span style="color: #ff0000;">2</span>,\<span style="color: #ff0000;">3</span> <span style="color: #adadad; font-style: italic;">;x1,x2</span>
    <span style="color: #00bfff;">dc</span> \<span style="color: #ff0000;">4</span>,\<span style="color: #ff0000;">5</span> <span style="color: #adadad; font-style: italic;">;y1,y2</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> \<span style="color: #ff0000;">6</span> <span style="color: #adadad; font-style: italic;">;hit handler</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> \<span style="color: #ff0000;">7</span> <span style="color: #adadad; font-style: italic;">;logic handler</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> \<span style="color: #ff0000;">8</span> <span style="color: #adadad; font-style: italic;">;360 logic handler</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> \<span style="color: #ff0000;">9</span> <span style="color: #adadad; font-style: italic;">;output handler</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> \<span style="color: #ff0000;">10</span> <span style="color: #adadad; font-style: italic;">;initialiser</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> \<span style="color: #ff0000;">11</span> <span style="color: #adadad; font-style: italic;">;targetable</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> \<span style="color: #ff0000;">12</span> <span style="color: #adadad; font-style: italic;">;radarable</span>
    <span style="color: #00CC66;">endm</span>
    &nbsp;
    push macros
    <span style="color: #00bfff;">move</span>. \<span style="color: #ff0000;">1</span>,-<span style="">(</span><span style="font-weight:bold;">sp</span><span style="">)</span>
    pop macros
    <span style="color: #00bfff;">move</span>. <span style="">(</span><span style="font-weight:bold;">sp</span><span style="">)</span>+,\<span style="color: #ff0000;">1</span>
    &nbsp;
    pushm macros
    <span style="color: #00bfff;">movem</span>. \<span style="color: #ff0000;">1</span>,-<span style="">(</span><span style="font-weight:bold;">sp</span><span style="">)</span>
    popm macros
    <span style="color: #00bfff;">movem</span>. <span style="">(</span><span style="font-weight:bold;">sp</span><span style="">)</span>+,\<span style="color: #ff0000;">1</span>
    &nbsp;
    pushal macros
    <span style="color: #00bfff;">movem</span> d3-<span style="font-weight:bold;">d5</span>,-<span style="">(</span><span style="font-weight:bold;">sp</span><span style="">)</span>
    popal macros
    <span style="color: #00bfff;">movem</span> <span style="">(</span><span style="font-weight:bold;">sp</span><span style="">)</span>+,d3-<span style="font-weight:bold;">d5</span>
    &nbsp;
    pusha macros
    <span style="color: #00bfff;">movem</span>.<span style="color: #00bfff;">l</span> d0-<span style="font-weight:bold;">d7</span>/a0-<span style="font-weight:bold;">a6</span>,-<span style="">(</span><span style="font-weight:bold;">sp</span><span style="">)</span>
    popa macros
    <span style="color: #00bfff;">movem</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">sp</span><span style="">)</span>+,d0-<span style="font-weight:bold;">d7</span>/a0-<span style="font-weight:bold;">a6</span>
    &nbsp;
    enemy <span style="color: #00CC66;">macro</span>
    <span style="color: #00bfff;">dc</span> \<span style="color: #ff0000;">1</span>,ot_\<span style="color: #ff0000;">2</span>
    <span style="color: #00bfff;">dc</span> \<span style="color: #ff0000;">3</span>,\<span style="color: #ff0000;">4</span>,\<span style="color: #ff0000;">5</span>
    <span style="color: #00CC66;">endm</span>
    &nbsp;
    set_ld <span style="color: #00CC66;">macro</span>
    <span style="color: #00CC66;">IF</span> l_type=<span style="color: #ff0000;">0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span>\<span style="color: #ff0000;">1</span><span style="color: #ff0000;">-1</span>,ldel
    <span style="color: #00CC66;">ELSE</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span>\<span style="color: #ff0000;">1</span><span style="color: #ff0000;">-1</span>,ldel
    <span style="color: #00CC66;">ENDIF</span>
    * <span style="color: #00bfff;">bsr</span> modify_fire_rate
    <span style="color: #00CC66;">endm</span>
    &nbsp;
    set_ld2 <span style="color: #00CC66;">macro</span>
    <span style="color: #00CC66;">IF</span> l_type=<span style="color: #ff0000;">0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span>\<span style="color: #ff0000;">1</span><span style="color: #ff0000;">-1</span>,ldel2
    <span style="color: #00CC66;">ELSE</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span>\<span style="color: #ff0000;">1</span><span style="color: #ff0000;">-1</span>,ldel2
    <span style="color: #00CC66;">ENDIF</span>
    <span style="color: #00CC66;">endm</span>
    &nbsp;
    mp_sfx <span style="color: #00CC66;">macro</span>
    pushm.<span style="color: #00bfff;">l</span> d1-<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span>sam_\<span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="">(</span>\<span style="color: #ff0000;">2</span><span style="">)</span>/<span style="color: #ff0000;">2</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>\<span style="color: #ff0000;">3</span>,<span style="font-weight:bold;">d3</span>
    com4 play_sfx
    popm.<span style="color: #00bfff;">l</span> d1-<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">rts</span>
    <span style="color: #00CC66;">endm</span>
    &nbsp;
    ******************************************************************************
    &nbsp;
    scratch_ram equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">ffff0000</span> <span style="color: #adadad; font-style: italic;">;guess wot?</span>
    &nbsp;
    v_spratt equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">fc00</span> <span style="color: #adadad; font-style: italic;">;SAT base.</span>
    v_hscrl equ <span style="color: #ff0000;">$</span><span style="color: #ff0000;">f000</span> <span style="color: #adadad; font-style: italic;">;H-scroll table base.</span>
    &nbsp;
    <span style="color: #00CC66;">include</span> equates.68k <span style="color: #adadad; font-style: italic;">;equates + macros.</span>
    &nbsp;
    game_code
    SOFTENTRY
    &nbsp;
    <span style="color: #00bfff;">lea</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">880000</span></span>+grouporg<span style="">(</span>ramcode68k<span style="">)</span>,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">lea</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">ffff8000</span>,<span style="font-weight:bold;">a1</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>groupend<span style="">(</span>ramcode68k<span style="">)</span>-grouporg<span style="">(</span>ramcode68k<span style="">)</span><span style="color: #ff0000;">-1</span>,<span style="font-weight:bold;">d7</span>
    .ccl <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> <span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+,<span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>+
    <span style="color: #00bfff;">dbf</span> <span style="font-weight:bold;">d7</span>,.ccl
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">sp</span>,sp_save
    &nbsp;
    <span style="color: #00bfff;">jsr</span> setup_player
    &nbsp;
    ******************
    * Game RAM <span style="color: #00CC66;">Code</span>. *
    ******************
    &nbsp;
    game_start
    <span style="font-weight:bold;">di</span> <span style="color: #adadad; font-style: italic;">;disable interrupts.</span>
    &nbsp;
    <span style="color: #00bfff;">jsr</span> init_vdp <span style="color: #adadad; font-style: italic;">;write initial values to VDP.</span>
    <span style="color: #00bfff;">jsr</span> init_joy <span style="color: #adadad; font-style: italic;">;read joystick types.</span>
    &nbsp;
    ei
    &nbsp;
    main_start
    <span style="color: #00bfff;">jsr</span> screen_on
    &nbsp;
    <span style="color: #00bfff;">clr</span> level
    <span style="color: #adadad; font-style: italic;">; MOVE #2,LEVEL</span>
    <span style="color: #adadad; font-style: italic;">; MOVE #3,LEVEL</span>
    &nbsp;
    <span style="color: #00bfff;">bsr</span> restart_life_lost
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">3</span>,lives
    &nbsp;
    sf diff_level
    <span style="color: #00bfff;">clr</span>.<span style="color: #00bfff;">l</span> score
    &nbsp;
    <span style="color: #00bfff;">bsr</span> level_setup
    &nbsp;
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">jsr</span> add_to_score
    *******************************************************************************
    <span style="color: #00bfff;">lea</span> node_head,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">lea</span> node_tail,<span style="font-weight:bold;">a1</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a1</span>,node_next<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a0</span>,node_prev<span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>
    <span style="color: #00bfff;">clr</span> game_del
    <span style="color: #00bfff;">clr</span> fade_delay
    *******************************************************************************
    <span style="color: #adadad; font-style: italic;">; jsr scroff</span>
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,vbl_count
    <span style="color: #00bfff;">clr</span> startup_count
    <span style="font-weight:bold;">st</span> in_game
    mloop
    &nbsp;
    .<span style="color: #ff0000;">1</span> <span style="color: #00bfff;">jsr</span> wait_vbl
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> vbl_count
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .<span style="color: #ff0000;">1</span>
    <span style="color: #00CC66;">IF</span> l_type=<span style="color: #ff0000;">1</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">3</span>,vbl_count
    <span style="color: #00CC66;">ELSE</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,vbl_count
    <span style="color: #00CC66;">ENDIF</span>
    &nbsp;
    <span style="color: #00bfff;">lea</span> vdp_c,<span style="font-weight:bold;">a6</span>
    ivramw v_hscrl
    <span style="color: #00bfff;">move</span> back_x,<span style="color: #ff0000;">-4</span><span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>
    <span style="color: #00bfff;">move</span> back_x,<span style="color: #ff0000;">-4</span><span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>
    &nbsp;
    ***************************************
    <span style="color: #00bfff;">jsr</span> level_flipper
    ***************************************
    &nbsp;
    <span style="color: #00bfff;">jsr</span> level_output
    &nbsp;
    ***************************************
    <span style="color: #00bfff;">addq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,game_del
    <span style="color: #00bfff;">and</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">7fff</span>,game_del
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .ng_roll
    <span style="color: #00bfff;">or</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">1000</span></span>,game_del
    .ng_roll:
    ***************************************
    <span style="color: #00bfff;">move</span> scr_spd,<span style="font-weight:bold;">d0</span>
    <span style="color: #00CC66;">IF</span> l_type=<span style="color: #ff0000;">0</span>
    <span style="color: #00bfff;">muls</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">3334</span></span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">add</span> scr_spd,<span style="font-weight:bold;">d0</span>
    <span style="color: #00CC66;">ENDIF</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,scr_spd2
    ***************************************
    <span style="color: #00bfff;">tst</span> sh_hit_num
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .sh_hit_ok
    <span style="color: #00bfff;">tst</span> dying_cnt
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .sh_hit_ok
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,sh_hit_del
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .sh_hit_ok
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,sh_hit_num
    <span style="color: #00bfff;">jsr</span> do_low_shield_sfx
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>sh_del,sh_hit_del
    .sh_hit_ok:
    ***************************************
    <span style="color: #00bfff;">jsr</span> pickup_system
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">04</span>,level
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .not_gigun
    <span style="color: #00bfff;">jsr</span> gigun_checks
    .not_gigun:
    <span style="color: #00bfff;">jsr</span> end_fader
    ***************************************
    sf hit_sfx_already
    &nbsp;
    ***************************************
    <span style="color: #00bfff;">clr</span> tmp_slot
    ***************************************
    * Do all processing here! *
    ***************************
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,gcnt3
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .gcnt3
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">3</span><span style="color: #ff0000;">-1</span>,gcnt3
    .gcnt3:
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,gcnt5
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .gcnt5
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">5</span><span style="color: #ff0000;">-1</span>,gcnt5
    .gcnt5:
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,gcnt6
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .gcnt6
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">6</span><span style="color: #ff0000;">-1</span>,gcnt6
    .gcnt6:
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,gcnt9
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .gcnt9
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">9</span><span style="color: #ff0000;">-1</span>,gcnt9
    .gcnt9:
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,gcnt10
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .gcnt10
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">9</span><span style="color: #ff0000;">-1</span>,gcnt10
    .gcnt10:
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,gcnt12
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .gcnt12
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">12</span><span style="color: #ff0000;">-1</span>,gcnt12
    .gcnt12:
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,gcnt19
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .gcnt19
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">19</span><span style="color: #ff0000;">-1</span>,gcnt19
    .gcnt19:
    <span style="color: #00bfff;">tst</span> dying_cnt
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .not_dying
    <span style="color: #00bfff;">jsr</span> do_player_dying
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .no_ctl
    .not_dying:
    <span style="color: #00bfff;">tst</span> startup_count
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .no_ctl
    <span style="color: #00bfff;">jsr</span> do_v_control
    .no_ctl:
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> is_360
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .no_360
    <span style="color: #00bfff;">jsr</span> set_360_map_pos
    .no_360:
    ***************************************
    <span style="color: #00bfff;">bsr</span> level_control
    ***************************************
    <span style="color: #00bfff;">jsr</span> create_enemies
    <span style="color: #00bfff;">jsr</span> get_all_enemies
    <span style="color: #00bfff;">jsr</span> get_all_weapons
    <span style="color: #00bfff;">jsr</span> do_next_weapon
    ******************************************************************************
    * Check <span style="color: #00CC66;">for</span> 2nd player *
    ************************
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> ply2mode
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .1player_only
    <span style="color: #00bfff;">jsr</span> do_next_weapon_2
    <span style="color: #00bfff;">jsr</span> player_2_control
    <span style="color: #00bfff;">jsr</span> player_2_weapons
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .2player_done
    .1player_only:
    <span style="color: #00bfff;">jsr</span> power_transfer_1p
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,vehicle
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .not_walker1
    <span style="color: #00bfff;">jsr</span> do_1p_walker_targetting
    &nbsp;
    <span style="color: #00bfff;">tst</span> poptarg
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .no_poptarg
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,poptarg
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> mtarget,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .no_poptarg
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">a6</span>
    <span style="color: #00bfff;">move</span> mob_x<span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span> mob_y<span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">lea</span> node_msight,<span style="font-weight:bold;">a6</span>
    <span style="color: #00bfff;">movem</span> <span style="font-weight:bold;">d0</span>/<span style="font-weight:bold;">d1</span>/<span style="font-weight:bold;">d2</span>/<span style="font-weight:bold;">d6</span>/<span style="font-weight:bold;">d7</span>,node_data<span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>ot_msight,mob_type<span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>
    <span style="color: #00bfff;">jsr</span> insert_sprite
    .no_poptarg:
    &nbsp;
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .2player_done
    .not_walker1:
    <span style="color: #00bfff;">lea</span> weapon_tab,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">add</span> weapon,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">cmp</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span>pw_bomblet,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .2player_done
    <span style="color: #00bfff;">jsr</span> handle_missile_sight
    .2player_done:
    ******************************************************************************
    <span style="color: #00bfff;">jsr</span> plot_rams
    <span style="color: #00bfff;">jsr</span> plot_player
    <span style="color: #00bfff;">tst</span> charge_cnt
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .not_charging
    <span style="color: #00bfff;">jsr</span> insert_charge_spr
    .not_charging:
    ***************************************
    &nbsp;
    <span style="color: #00bfff;">bsr</span> draw_sprites
    <span style="color: #00bfff;">jsr</span> draw_panel
    &nbsp;
    com flip_screen
    <span style="color: #00bfff;">jsr</span> wait_com
    &nbsp;
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span>button_pause,joy1
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .no_pause
    .paused
    <span style="color: #00bfff;">jsr</span> wait_vbl
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span>button_pause,joy1
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .paused
    &nbsp;
    .paused1
    <span style="color: #00bfff;">jsr</span> wait_vbl
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span>button_pause,joy1
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .paused1
    .paused2
    <span style="color: #00bfff;">jsr</span> wait_vbl
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span>button_pause,joy1
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .paused2
    .no_pause
    &nbsp;
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">B</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">16</span>,shield

    <span style="color: #00bfff;">bra</span> mloop
    &nbsp;
    ******************************************************************************
    * CPIC backgrounds *
    ********************
    &nbsp;
    back_00a <span style="color: #00bfff;">incbin</span> backs\space1.cpi
    <span style="color: #00CC66;">even</span>
    back_00b <span style="color: #00bfff;">incbin</span> backs\space2.cpi
    <span style="color: #00CC66;">even</span>
    &nbsp;
    back_03 <span style="color: #00bfff;">incbin</span> backs\warpship.cpi
    <span style="color: #00CC66;">even</span>
    &nbsp;
    ******************************************************************************
    * <span style="color: #ff0000;">360</span> object <span style="color: #00CC66;">data</span> *
    *******************
    &nbsp;
    zone_03_dat <span style="color: #00bfff;">incbin</span> stages\zone03.dat
    <span style="color: #00CC66;">even</span>
    zone_05_dat <span style="color: #00bfff;">incbin</span> stages\zone05.dat
    <span style="color: #00CC66;">even</span>
    zone_08_dat <span style="color: #00bfff;">incbin</span> stages\zone08.dat
    <span style="color: #00CC66;">even</span>
    zone_11_dat <span style="color: #00bfff;">incbin</span> stages\zone11.dat
    <span style="color: #00CC66;">even</span>
    zone_17_dat <span style="color: #00bfff;">incbin</span> stages\zone17.dat
    <span style="color: #00CC66;">even</span>
    zone_24_dat <span style="color: #00bfff;">incbin</span> stages\zone24.dat
    <span style="color: #00CC66;">even</span>
    zone_26_dat <span style="color: #00bfff;">incbin</span> stages\zone26.dat
    <span style="color: #00CC66;">even</span>
    &nbsp;
    ******************************************************************************
    * Decompress background <span style="">(</span><span style="color: #ff0000;">2</span> playfields<span style="">)</span> *
    ****************************************
    &nbsp;
    * <span style="font-weight:bold;">A0</span> = playfield <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>
    * <span style="font-weight:bold;">A1</span> = playfield <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>
    &nbsp;
    decomp_68k_backgr
    push.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a1</span>
    &nbsp;
    <span style="color: #00bfff;">lea</span> scratch_ram,<span style="font-weight:bold;">a1</span>
    <span style="color: #00bfff;">jsr</span> unpack
    &nbsp;
    <span style="color: #00bfff;">lea</span> scratch_ram,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">e000</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">64</span>*<span style="color: #ff0000;">2</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">jsr</span> decomp_cpic
    &nbsp;
    pop.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a0</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">;if -I've, only decomp 1st screen</span>
    <span style="color: #00bfff;">bmi</span>.<span style="color: #00bfff;">s</span> .skip <span style="color: #adadad; font-style: italic;">;skip unpack</span>

    <span style="color: #00bfff;">lea</span> scratch_ram,<span style="font-weight:bold;">a1</span>
    <span style="color: #00bfff;">jsr</span> unpack
    .skip
    <span style="color: #00bfff;">lea</span> scratch_ram,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">c000</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">64</span>*<span style="color: #ff0000;">2</span>,<span style="font-weight:bold;">d1</span>
    ***************
    * decomp CPIC *
    ***************
    * <span style="font-weight:bold;">A0</span> = <span style="color: #00CC66;">ptr</span> to CPIC file
    * <span style="font-weight:bold;">D0</span> = dest. adr
    * <span style="font-weight:bold;">D1</span> = dest CMAP <span style="color: #00CC66;">width</span>*<span style="color: #ff0000;">2</span>
    &nbsp;
    decomp_cpic
    <span style="color: #00bfff;">lea</span> vdp_c,<span style="font-weight:bold;">a6</span>
    &nbsp;
    vreg <span style="color: #ff0000;">15</span>,<span style="color: #ff0000;">2</span>
    <span style="color: #00bfff;">bsr</span> dc_palette
    <span style="color: #00bfff;">movem</span> <span style="font-weight:bold;">d0</span>/<span style="font-weight:bold;">d1</span>,-<span style="">(</span><span style="font-weight:bold;">sp</span><span style="">)</span>
    <span style="color: #00bfff;">bsr</span> dc_chars
    <span style="color: #00bfff;">movem</span> <span style="">(</span><span style="font-weight:bold;">sp</span><span style="">)</span>+,<span style="font-weight:bold;">d0</span>/<span style="font-weight:bold;">d1</span>
    dc_cmap
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d1</span>,dest_xsize
    &nbsp;
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span> cpic_map<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .map_done
    <span style="color: #00bfff;">lea</span> <span style="">(</span><span style="font-weight:bold;">a0</span>,<span style="font-weight:bold;">d2</span>.<span style="color: #00bfff;">l</span><span style="">)</span>,<span style="font-weight:bold;">a2</span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d5</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> cpic_x<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d5</span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> cpic_y<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d6</span>
    .yloop
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d4</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a2</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d5</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">d5</span>,<span style="font-weight:bold;">a2</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">d5</span>,<span style="font-weight:bold;">a2</span>
    <span style="color: #00bfff;">bsr</span> dma_trans_wr
    <span style="color: #00bfff;">add</span> dest_xsize,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">dbf</span> <span style="font-weight:bold;">d6</span>,.yloop
    .map_done
    <span style="color: #00bfff;">rts</span>
    dc_chars
    <span style="color: #00bfff;">move</span> cpic_dchar<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span> cpic_char<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">lea</span> <span style="">(</span><span style="font-weight:bold;">a0</span>,<span style="font-weight:bold;">d3</span><span style="">)</span>,<span style="font-weight:bold;">a1</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a1</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">move</span> cpic_nchar<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">bra</span> dma_trans_wr
    &nbsp;
    dc_palette
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a4</span>,-<span style="">(</span><span style="font-weight:bold;">sp</span><span style="">)</span>
    <span style="color: #00bfff;">lea</span> palette_store,<span style="font-weight:bold;">a4</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> cpic_opal<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .no_palette
    <span style="color: #00bfff;">lea</span> <span style="color: #ff0000;">2</span><span style="">(</span><span style="font-weight:bold;">a0</span>,<span style="font-weight:bold;">d3</span><span style="">)</span>,<span style="font-weight:bold;">a1</span>
    <span style="color: #00bfff;">move</span> cpic_cpal<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">a4</span>
    <span style="color: #00bfff;">or</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">c000</span>,<span style="font-weight:bold;">d2</span> <span style="color: #adadad; font-style: italic;">;CRAM write</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d2</span>,<span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>
    <span style="color: #00bfff;">lea</span> <span style="color: #ff0000;">-4</span><span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>,<span style="font-weight:bold;">a5</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>,<span style="">(</span><span style="font-weight:bold;">a4</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>+,<span style="">(</span><span style="font-weight:bold;">a5</span><span style="">)</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>,<span style="">(</span><span style="font-weight:bold;">a4</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>+,<span style="">(</span><span style="font-weight:bold;">a5</span><span style="">)</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>,<span style="">(</span><span style="font-weight:bold;">a4</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>+,<span style="">(</span><span style="font-weight:bold;">a5</span><span style="">)</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>,<span style="">(</span><span style="font-weight:bold;">a4</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>+,<span style="">(</span><span style="font-weight:bold;">a5</span><span style="">)</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>,<span style="">(</span><span style="font-weight:bold;">a4</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>+,<span style="">(</span><span style="font-weight:bold;">a5</span><span style="">)</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>,<span style="">(</span><span style="font-weight:bold;">a4</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>+,<span style="">(</span><span style="font-weight:bold;">a5</span><span style="">)</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>,<span style="">(</span><span style="font-weight:bold;">a4</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>+,<span style="">(</span><span style="font-weight:bold;">a5</span><span style="">)</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>,<span style="">(</span><span style="font-weight:bold;">a4</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>+,<span style="">(</span><span style="font-weight:bold;">a5</span><span style="">)</span>
    .no_palette
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">sp</span><span style="">)</span>+,<span style="font-weight:bold;">a4</span>
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    dma_trans_wr
    push.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a0</span>
    &nbsp;
    <span style="color: #00bfff;">lea</span> vdp_c,<span style="font-weight:bold;">a6</span>
    vreg <span style="color: #ff0000;">15</span>,<span style="color: #ff0000;">2</span>
    &nbsp;
    <span style="color: #00bfff;">addq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">lsr</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d1</span>,<span style="font-weight:bold;">a0</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">and</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">3fff</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">or</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">4000</span></span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">and</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">c000</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">rol</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d1</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,<span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>
    <span style="color: #00bfff;">lea</span> <span style="color: #ff0000;">-4</span><span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>,<span style="font-weight:bold;">a5</span>
    .loop
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+,<span style="">(</span><span style="font-weight:bold;">a5</span><span style="">)</span>
    <span style="color: #00bfff;">dbf</span> <span style="font-weight:bold;">d0</span>,.loop
    &nbsp;
    pop.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    *******************
    * Disable Screen. *
    *******************
    &nbsp;
    screen_off
    <span style="color: #00bfff;">and</span> <span style="color: #ff0000;">#</span>~<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">0040</span></span>,reg1_shadow <span style="color: #adadad; font-style: italic;">;disable screen output.</span>
    <span style="color: #00bfff;">move</span> reg1_shadow,vdp_c <span style="color: #adadad; font-style: italic;">;write reg1 (screen enable).</span>
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    ******************
    * Enable Screen. *
    ******************
    &nbsp;
    screen_on
    <span style="color: #00bfff;">or</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">0040</span></span>,reg1_shadow <span style="color: #adadad; font-style: italic;">;enable screen output.</span>
    <span style="color: #00bfff;">move</span> reg1_shadow,vdp_c <span style="color: #adadad; font-style: italic;">;write reg1 (screen enable).</span>
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    ***********************
    * Read PAL/NTSC Flag. *
    ***********************
    &nbsp;
    get_tv
    <span style="color: #00bfff;">lea</span> vdp_c,<span style="font-weight:bold;">a6</span> <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">;read PAL/NTSC flag.</span>
    <span style="color: #00bfff;">and</span> <span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">lea</span> cp_a,<span style="font-weight:bold;">a6</span> <span style="color: #adadad; font-style: italic;">;write result to smooth-scroll A.</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,<span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    ***************
    * Clear VRAM. *
    ***************
    &nbsp;
    clear_vram
    <span style="color: #00bfff;">lea</span> vdp_c,<span style="font-weight:bold;">a6</span>
    vreg <span style="color: #ff0000;">15</span>,<span style="color: #ff0000;">2</span> <span style="color: #adadad; font-style: italic;">;</span>
    ivramw <span style="color: #ff0000;">0</span> <span style="color: #adadad; font-style: italic;">;clear VRAM.</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">65536</span>/<span style="color: #ff0000;">4</span><span style="">)</span><span style="color: #ff0000;">-1</span>,<span style="font-weight:bold;">d7</span> <span style="color: #adadad; font-style: italic;">;</span>
    .cvl <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">-4</span><span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>
    <span style="color: #00bfff;">dbf</span> <span style="font-weight:bold;">d7</span>,.cvl
    &nbsp;
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    ******************************************************************************
    reset_specials
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">08090aff</span>,weapon_tab<span style="color: #ff0000;">+4</span>
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> ply2mode
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .1p
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">08090a00</span>,weapon_tab<span style="color: #ff0000;">+4</span>
    .1p
    <span style="color: #00bfff;">rts</span>
    ******************************************************************************
    restart_life_lost
    <span style="color: #00bfff;">lea</span> vars_start,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="">(</span>vars_end-vars_start<span style="">)</span>/<span style="color: #ff0000;">2</span><span style="">)</span><span style="color: #ff0000;">-1</span>,<span style="font-weight:bold;">d7</span>
    .cvars <span style="color: #00bfff;">clr</span> <span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">dbf</span> <span style="font-weight:bold;">d7</span>,.cvars
    &nbsp;
    <span style="color: #00bfff;">lea</span> STRUCT_START,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="">(</span>STRUCT_END-STRUCT_START<span style="">)</span>/<span style="color: #ff0000;">4</span><span style="">)</span><span style="color: #ff0000;">-1</span>,<span style="font-weight:bold;">d0</span>
    .c2loop <span style="color: #00bfff;">clr</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">dbf</span> <span style="font-weight:bold;">d0</span>,.c2loop
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">128</span>,msight_x
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">88</span>,msight_y
    &nbsp;
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">4</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> ply2mode
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .n_2mw
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">00070003</span></span>,<span style="font-weight:bold;">d1</span>
    .n_2mw <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d1</span>,weapon
    <span style="color: #00bfff;">lea</span> weapon_tab,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">00ffff04</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">08090aff</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> ply2mode
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .1p
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">ffffff04</span>,<span style="color: #ff0000;">-8</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">08090a00</span>,<span style="color: #ff0000;">-4</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>
    .1p
    <span style="font-weight:bold;">st</span> oweapon
    <span style="font-weight:bold;">st</span> oweapon2
    <span style="font-weight:bold;">st</span> opower
    sf ram_weapon
    <span style="color: #00bfff;">clr</span> ram_count
    <span style="color: #00bfff;">clr</span> torpedo_count
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span>maxshield/<span style="color: #ff0000;">2</span>,shield
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="">(</span>maxacc<span style="color: #ff0000;">-1</span><span style="">)</span>/<span style="color: #ff0000;">3</span>,acc
    <span style="color: #00bfff;">clr</span> bombs_rem
    <span style="color: #00bfff;">clr</span> rockets_rem
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">40</span>,missiles_rem
    &nbsp;
    <span style="color: #00bfff;">clr</span> player_x
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">48</span></span>,player_y
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>sclip,yclip
    <span style="color: #00bfff;">rts</span>
    ******************************************************************************
    set_hp_a0
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,mob_hp<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>
    <span style="color: #00bfff;">rts</span>
    ******************************************************************************
    scroff
    <span style="color: #00bfff;">jmp</span> screen_off
    set_scron_delay
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">3</span>,scron_delay
    <span style="color: #00bfff;">rts</span>
    ******************************************************************************
    getrand
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> rand_num,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> rand_num<span style="color: #ff0000;">+1</span>,rand_num
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> <span style="font-weight:bold;">d0</span>,rand_num<span style="color: #ff0000;">+1</span>
    <span style="color: #adadad; font-style: italic;">; move $ff800c,d0</span>
    <span style="color: #00bfff;">add</span> rand_num,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">ror</span> rand_num
    <span style="color: #00bfff;">rts</span>
    ******************************************************************************
    play_music
    add_qsound
    remove_qsound_a5
    do_pl_startup
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    rotate_player_sprite
    <span style="color: #00bfff;">move</span> node_player+mob_x,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">move</span> node_player+mob_y,<span style="font-weight:bold;">d2</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> pbank,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">asr</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">3</span>,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">and</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">7ff</span>,<span style="font-weight:bold;">d3</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> node_player+mob_def,<span style="font-weight:bold;">d4</span>
    &nbsp;
    jcom4 rotate_player
    ******************************************************************************
    &nbsp;
    <span style="color: #00CC66;">include</span> planet.<span style="color: #00bfff;">s</span>
    <span style="color: #00CC66;">include</span> surface.<span style="color: #00bfff;">s</span>
    <span style="color: #00CC66;">include</span> sprite.<span style="color: #00bfff;">s</span>
    <span style="color: #00CC66;">include</span> levels.<span style="color: #00bfff;">s</span>
    <span style="color: #00CC66;">include</span> elogic.<span style="color: #00bfff;">s</span>
    &nbsp;
    <span style="color: #00CC66;">include</span> mapping.<span style="color: #00bfff;">s</span>
    &nbsp;
    <span style="color: #00CC66;">include</span> bulkan.<span style="color: #00bfff;">s</span>
    <span style="color: #00CC66;">include</span> guha.<span style="color: #00bfff;">s</span>
    <span style="color: #00CC66;">include</span> twingha.<span style="color: #00bfff;">s</span>
    <span style="color: #00CC66;">include</span> metafus.<span style="color: #00bfff;">s</span>
    <span style="color: #00CC66;">include</span> gigun.<span style="color: #00bfff;">s</span>
    <span style="color: #00CC66;">include</span> krast.<span style="color: #00bfff;">s</span>
    &nbsp;
    <span style="color: #00CC66;">include</span> map360.<span style="color: #00bfff;">s</span>
    <span style="color: #00CC66;">include</span> weapons.<span style="color: #00bfff;">s</span>
    <span style="color: #00CC66;">include</span> weapons2.<span style="color: #00bfff;">s</span> <span style="color: #adadad; font-style: italic;">;2nd player</span>
    &nbsp;
    <span style="color: #00CC66;">include</span> music.<span style="color: #00bfff;">s</span>
    &nbsp;
    <span style="color: #00CC66;">include</span> control2.<span style="color: #00bfff;">s</span>
    &nbsp;
    <span style="color: #00CC66;">include</span> <span style="color: #00CC66;">title</span>.<span style="color: #00bfff;">s</span>
    <span style="color: #00CC66;">include</span> options.<span style="color: #00bfff;">s</span>
    &nbsp;
    <span style="color: #00CC66;">include</span> panel.<span style="color: #00bfff;">s</span>
    &nbsp;
    <span style="color: #00CC66;">include</span> cosin.<span style="color: #00bfff;">s</span>
    &nbsp;
    odb_table
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,h_null,h_null,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    &nbsp;
    <span style="color: #00CC66;">rept</span> <span style="color: #ff0000;">127</span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,hit_enemy,do_path_anim,<span style="color: #ff0000;">0</span>,plot_spr,init_path_alien,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    endr
    &nbsp;
    * player weapons <span style="">(</span><span style="color: #ff0000;">20</span><span style="">)</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_hunter_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_pl_laser,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_pl_rocket,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_chargeable_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_pl_laser,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    &nbsp;
    <span style="color: #00CC66;">rept</span> <span style="color: #ff0000;">107</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,do_path_anim,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    endr
    &nbsp;
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null2,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    &nbsp;
    * explosions
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_g_exp,h_g_exp_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_a_exp,h_a_exp_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_g_exp,h_g_exp_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_a_exp,h_a_exp_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_g_exp,h_g_exp_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_a_exp,h_a_exp_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_a_exp,h_a_exp_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * sm exp <span style="">(</span><span style="color: #00bfff;">or</span>/<span style="font-weight:bold;">bl</span><span style="">)</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_sm_exp_or,h_sm_exp_or_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_sm_exp_bl,h_sm_exp_bl_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * small tank smoke
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_st_smoke,h_st_smoke_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * small exp <span style="">(</span>stage <span style="color: #ff0000;">#</span><span style="color: #ff0000;">09</span> BOSS<span style="">)</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_smexp09,<span style="color: #ff0000;">0</span>,plot_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * small smoke <span style="">(</span>GIGUN<span style="">)</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_sm_exp_bl2,<span style="color: #ff0000;">0</span>,plot_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    &nbsp;
    * player explosions
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_a_exp,h_a_exp_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    &nbsp;
    * enemy weaps <span style="">(</span><span style="color: #ff0000;">32</span><span style="">)</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap00,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap01,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap02,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_grzap_laser,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap04,<span style="color: #ff0000;">0</span>,plot_tlaser_16,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,hit_enemy_missile,h_eweap_missile05,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,hit_enemy,h_eweap06,<span style="color: #ff0000;">0</span>,plot_spr,init_3hp,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap07,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,hit_enemy_missile,h_eweap08,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">080</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">080</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">080</span></span>,hit_enemy_missile,h_eweap09,h_eweap09_360,plot_spr,hnull,<span style="color: #ff0000;">1</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">4</span></span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap0B,h_eweap0A_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">080</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">080</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">080</span></span>,hit_28_shot,h_eweap0B,h_eweap0B_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">f</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap0E,h_eweap0C_360,plot_tlaser_360,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap0E,h_eweap0D_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap0E,h_eweap0E_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap0F,h_eweap0F_360,plot_tlaser_360,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    &nbsp;
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,hit_enemy_missile,h_eweap10,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap02,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap02,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap02,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap02,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap02,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap02,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap02,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap02,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap02,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap02,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap02,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap02,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap02,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_eweap02,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    &nbsp;
    * player ship
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,rotate_player_sprite,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * player walker
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,hnull,<span style="color: #ff0000;">0</span>,plot_player_walker,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * missile sight
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,hnull,<span style="color: #ff0000;">0</span>,plot_msight,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * stage <span style="color: #ff0000;">08</span> warping orb
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_worb08,<span style="color: #ff0000;">0</span>,plot_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * stage <span style="color: #ff0000;">05</span> laser sight
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,hl_05_lsight,plot_05_lsight,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * stage <span style="color: #ff0000;">05</span> laser beam
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,hl_05_lbeam,plot_05_lbeam,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    &nbsp;
    * asteroid
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_asteroid00,<span style="color: #ff0000;">0</span>,plot_star,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * building fragments
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_leira_bf1,h_leira_bf_360,plot_frag_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_leira_bf2,h_leira_bf_360,plot_frag_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_leira_bf3,h_leira_bf_360,plot_frag_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_leira_bf4,h_leira_bf_360,plot_frag_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * panel palette fragments
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_pfrag1,h_leira_bf_360,plot_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_pfrag2,h_leira_bf_360,plot_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_pfrag3,h_leira_bf_360,plot_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_pfrag4,h_leira_bf_360,plot_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    &nbsp;
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_pfrag1s,h_leira_bf_360,plot_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_pfrag2s,h_leira_bf_360,plot_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_pfrag3s,h_leira_bf_360,plot_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_pfrag4s,h_leira_bf_360,plot_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * player hit
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_plyhit,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * player RAM unit
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_null,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    &nbsp;
    * enemy <span style="color: #ff0000;">2</span> - down
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_enemy2_down,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * leira lander down
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,<span style="color: #ff0000;">0</span>,h_leira_lander_down,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * falling mine
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_falling_mine,<span style="color: #ff0000;">0</span>,plot_mine_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * sand spray
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_sand_spray,hl_sand_spray_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * sand spray <span style="">(</span>small<span style="">)</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_sand_spray2,hl_sand_spray2_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * snakey sand spray
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_sand_spray_s,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * guha crater
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_guha_crater,hl_guha_crater_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * guha boss shield hit!
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_guha_bhit,hl_guha_bhit,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    &nbsp;
    * twingha water splashes <span style="">(</span>vlarge/large/small<span style="">)</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_vl_splash10,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_l_splash10,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_s_splash10,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    &nbsp;
    <span style="color: #adadad; font-style: italic;">; rept 384-ot_fxlast</span>
    <span style="color: #adadad; font-style: italic;">; odb -001,$000,-$000,$000,-$000,0,0,0,0,hnull,0,0</span>
    <span style="color: #adadad; font-style: italic;">; endr</span>
    &nbsp;
    * bonus 1a-c
    ci_bonus1
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,hit_bonus1abc,h_bonus1a,<span style="color: #ff0000;">0</span>,plot_bonus,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,hit_bonus1abc,h_bonus1b,<span style="color: #ff0000;">0</span>,plot_bonus,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,hit_bonus1abc,h_bonus1c,<span style="color: #ff0000;">0</span>,plot_bonus,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * leira rocks
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,hit_indestructible,h_leira_trock,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">800</span></span>,hit_indestructible,h_leira_mrock,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,hit_indestructible,h_leira_srock,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * warpship boss
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,hit_indestructible_360,h_boss03,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">a</span>
    * warpship pilon
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">0c0</span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">180</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,hit_indestructible_360,h_wpilon03,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">a</span>
    * warpship shield
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">0c0</span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">070</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">070</span></span>,hit_indestructible_360,h_shields03,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">a</span>
    * warpship warpgate
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_warpgate03,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">f</span>
    * cpu malfunction
    odb <span style="color: #ff0000;">-000</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_malf03,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * warpship pylon
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_wp_pilon,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">a</span>
    * warpship small pylon
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">080</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_sm_pilon03,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">a</span>
    * warpship fragment <span style="color: #00bfff;">W</span>,A,<span style="color: #00bfff;">B</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_fragment03w,<span style="color: #ff0000;">0</span>,h_null,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">0e0</span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">120</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,hit_indestructible_360,h_fragment03a,h_fragment_03_360,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">0e0</span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">120</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,hit_indestructible_360,h_fragment03b,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">3</span></span>
    &nbsp;
    * guha rocks
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">0c0</span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,hit_indestructible_360,h_guha_rock1,<span style="color: #ff0000;">0</span>,plot_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">080</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">080</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,hit_indestructible_360,h_guha_rock2,<span style="color: #ff0000;">0</span>,plot_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * guha dome
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">0c0</span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,hit_guha_dome360,h_guha_dome1,<span style="color: #ff0000;">0</span>,plot_spr,init_guha_dome,<span style="color: #ff0000;">1</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">2</span></span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">0c0</span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,hit_guha_dome360,h_guha_dome2,<span style="color: #ff0000;">0</span>,plot_spr,h_null,<span style="color: #ff0000;">1</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">2</span></span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">050</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,hit_indestructible_360,h_guha_dome3,<span style="color: #ff0000;">0</span>,plot_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * guha small tower
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">080</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">0c0</span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,hit_guha_smtower360,h_guha_smtower1,<span style="color: #ff0000;">0</span>,plot_spr,h_null,<span style="color: #ff0000;">1</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">3</span></span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">080</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">080</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,hit_indestructible_360,h_guha_smtower2,<span style="color: #ff0000;">0</span>,plot_spr,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * guha pilon
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;">c00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">080</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">180</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,hit_guha_pilon360,h_guha_pilon,<span style="color: #ff0000;">0</span>,plot_guha_pilon,h_null,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">3</span></span>
    &nbsp;
    ********************************************************************
    * twingha rocks *
    *****************
    * flat rock
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">180</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">180</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,hit_indestructible,h_fl_rock10,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * small rock
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">180</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">180</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,hit_indestructible,h_s_rock10,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * tall rock
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">180</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">180</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;">d00</span>,hit_indestructible,h_t_rock10,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    * tall umbrella rock
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">180</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">180</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;">d00</span>,hit_indestructible,h_tu_rock10,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    &nbsp;
    ********************************************************************
    &nbsp;
    <span style="color: #adadad; font-style: italic;">; rept 512-ot_htlast</span>
    <span style="color: #adadad; font-style: italic;">; odb -001,$000,-$000,$000,-$000,0,0,0,0,hnull,0,0</span>
    <span style="color: #adadad; font-style: italic;">; endr</span>
    &nbsp;
    * bonus <span style="color: #ff0000;">1</span>
    ci_bonus2
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,hit_bonus1,h_bonus1,<span style="color: #ff0000;">0</span>,plot_spr,init_bonus1,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">1</span></span>,<span style="color: #ff0000;">0</span>
    *************
    * STAGE <span style="color: #ff0000;">#</span><span style="color: #ff0000;">00</span> *
    *************
    * small starbase
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">000</span></span>,<span style="color: #ff0000;">0</span>,h_enemy4,<span style="color: #ff0000;">0</span>,plot_spr,init_en4,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">0</span></span>,<span style="color: #ff0000;">0</span>
    *************
    * STAGE <span style="color: #ff0000;">#</span><span style="color: #ff0000;">01</span> *
    *************
    * leira buildings
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">800</span></span>,hit_ground_obj_f,h_leira_od,<span style="color: #ff0000;">0</span>,plot_spr,init_1hp,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">1</span></span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,hit_indestructible,h_leira_od_d,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;">b00</span>,hit_ground_obj_f,h_leira_b1,<span style="color: #ff0000;">0</span>,plot_spr,init_3hp,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">1</span></span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,hit_indestructible,h_leira_b1_d,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">1000</span></span>,hit_ground_obj_f,h_leira_rb2,<span style="color: #ff0000;">0</span>,plot_spr,init_6hp,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">1</span></span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">600</span></span>,hit_indestructible,h_leira_rb2_d,<span style="color: #ff0000;">0</span>,plot_spr,hnull,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">1000</span></span>,hit_ground_obj_f,h_leira_lb2,<span style="color: #ff0000;">0</span>,plot_spr,init_6hp,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">1</span></span>,<span style="color: #ff0000;">0</span>
    odb <span style="color: #ff0000;">-001</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">300</span></span>,-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>****************
    * Control file *
    ****************
    do_v_control
    <span style="color: #00bfff;">tst</span> dying_cnt
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .not_dying
    <span style="color: #00bfff;">rts</span>
    .not_dying
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> joy0,<span style="font-weight:bold;">d1</span>
    &nbsp;
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> in_lava
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .not_lava1
    <span style="color: #00bfff;">or</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">0c</span>,<span style="font-weight:bold;">d1</span>
    .not_lava1
    &nbsp;
    <span style="color: #00bfff;">move</span> vehicle,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">bmi</span> striker_ctrl
    <span style="color: #00bfff;">beq</span> copter_ctrl
    walker_ctl
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span><span style="color: #ff0000;">+4</span>,walker_count
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .t2
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,walker_count
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .t1
    .t2
    <span style="color: #00bfff;">move</span> walker_count,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">cmp</span> l_walker_count,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .t2a
    <span style="color: #00bfff;">tst</span> warp_count
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .t2a
    <span style="color: #00bfff;">jsr</span> do_walker_foot_sfx
    .t2a
    <span style="color: #00bfff;">clr</span> scr_spd
    <span style="color: #00bfff;">clr</span> walker_dir
    sf walker_turn
    .t1
    <span style="color: #00bfff;">tst</span> warp_count
    <span style="color: #00bfff;">bne</span> .we_are_warping
    &nbsp;
    <span style="color: #00bfff;">move</span> pbank,<span style="font-weight:bold;">d3</span>
    &nbsp;
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .nl
    &nbsp;
    <span style="font-weight:bold;">st</span> walker_turn
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">-1</span>,walker_dir
    &nbsp;
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">080</span></span>,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">blt</span>.<span style="color: #00bfff;">s</span> .pbd
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .pbd
    .nl
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">3</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .nr
    &nbsp;
    <span style="font-weight:bold;">st</span> walker_turn
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">-1</span>,walker_dir
    &nbsp;
    <span style="color: #00bfff;">sub</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">080</span></span>,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span>-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,<span style="font-weight:bold;">d3</span>
    bgt.<span style="color: #00bfff;">s</span> .pbd
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">200</span></span>,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .pbd
    .nr
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> walker_turn
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .pbd

    <span style="color: #00bfff;">tst</span> <span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .pbd
    <span style="color: #00bfff;">bmi</span>.<span style="color: #00bfff;">s</span> .pbadd
    .pbsub <span style="color: #00bfff;">sub</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">80</span></span>,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .pbd
    .pbadd <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">80</span></span>,<span style="font-weight:bold;">d3</span>
    .pbd <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d3</span>,pbank
    &nbsp;
    <span style="color: #00bfff;">move</span> walker_count,l_walker_count
    &nbsp;
    <span style="color: #00bfff;">tst</span> slide_count
    <span style="color: #00bfff;">beq</span> .no_slide
    &nbsp;
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .up_ok
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">6</span>,slide_count
    <span style="color: #00bfff;">ble</span>.<span style="color: #00bfff;">s</span> .fuel_ok_97
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">6</span>,slide_count
    <span style="color: #adadad; font-style: italic;">; bra.s .fuel_ok_97</span>
    .up_ok
    <span style="color: #adadad; font-style: italic;">; moveq #7,d0</span>
    <span style="color: #adadad; font-style: italic;">; and game_del,d0</span>
    <span style="color: #adadad; font-style: italic;">; bne.s .fuel_ok_97</span>
    <span style="color: #adadad; font-style: italic;">; subq #1,acc</span>
    .fuel_ok_97
    &nbsp;
    sf walker_turn
    <span style="color: #00bfff;">move</span> slide_count,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">20</span>*<span style="color: #ff0000;">3</span><span style="">)</span><span style="color: #ff0000;">-6</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">ble</span>.<span style="color: #00bfff;">s</span> .slide2
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">20</span>*<span style="color: #ff0000;">3</span><span style="">)</span><span style="color: #ff0000;">-1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">sub</span> slide_count,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">lsl</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">4</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .slide1
    .slide2
    <span style="color: #adadad; font-style: italic;">; tst acc</span>
    <span style="color: #adadad; font-style: italic;">; bne.s .fuel_ok_98</span>
    <span style="color: #adadad; font-style: italic;">; subq #2,scr_spd</span>
    <span style="color: #adadad; font-style: italic;">; bpl .all_done</span>
    <span style="color: #adadad; font-style: italic;">; clr scr_spd</span>
    <span style="color: #adadad; font-style: italic;">; clr slide_count</span>
    <span style="color: #adadad; font-style: italic;">;.fuel_ok_98</span>
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">60</span></span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">ble</span>.<span style="color: #00bfff;">s</span> .slide1
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">60</span></span>,<span style="font-weight:bold;">d0</span>
    .slide1
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,scr_spd
    <span style="color: #00bfff;">bra</span> .all_done
    &nbsp;
    .no_slide
    <span style="color: #00bfff;">tst</span> jump_mode
    <span style="color: #00bfff;">beq</span> .no_jump
    &nbsp;
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,jump_mode
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .not_jm1
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,jump_count2
    <span style="color: #00bfff;">bpl</span> .all_done
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> joy_spc1,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">btst</span> <span style="font-weight:bold;">d0</span>,joy1
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .jmp1_ok
    <span style="color: #00bfff;">clr</span> jump_mode
    <span style="color: #00bfff;">bsr</span> find_next_target
    <span style="color: #00bfff;">jsr</span> do_ntarg_sfx
    <span style="color: #00bfff;">bra</span> .no_jump
    .jmp1_ok
    <span style="color: #00bfff;">addq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,jump_mode
    .not_jm1
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,jump_mode
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .not_jm2
    <span style="color: #00bfff;">addq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,jump_count
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">20</span>+<span style="">(</span><span style="color: #ff0000;">20</span>/<span style="color: #ff0000;">2</span><span style="">)</span><span style="">)</span>/<span style="color: #ff0000;">2</span>,jump_count
    <span style="color: #00bfff;">bne</span> .update_jmp
    <span style="color: #00bfff;">addq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,jump_mode
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">20</span>*<span style="color: #ff0000;">3</span>,jump_count2
    <span style="color: #00bfff;">bra</span> .update_jmp
    .not_jm2
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">3</span>,jump_mode
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .not_jm3
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">58</span></span>,jump_thrust
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .jmp_th_ok
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">0b</span>,jump_thrust
    .jmp_th_ok
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> joy_spc1,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">btst</span> <span style="font-weight:bold;">d0</span>,joy1
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .jump_x
    <span style="color: #adadad; font-style: italic;">; tst acc</span>
    <span style="color: #adadad; font-style: italic;">; beq.s .jump_x</span>
    <span style="color: #adadad; font-style: italic;">; moveq #7,d0</span>
    <span style="color: #adadad; font-style: italic;">; and game_del,d0</span>
    <span style="color: #adadad; font-style: italic;">; bne.s .fuel_ok_99</span>
    <span style="color: #adadad; font-style: italic;">; subq #1,acc</span>
    <span style="color: #adadad; font-style: italic;">;.fuel_ok_99</span>
    &nbsp;
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,jump_count2
    <span style="color: #00bfff;">bpl</span> .update_jmp
    .jump_x
    <span style="color: #00bfff;">addq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,jump_mode
    <span style="color: #00bfff;">clr</span> jump_count2
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .update_jmp
    .not_jm3
    <span style="color: #00bfff;">tst</span> jump_thrust
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .jmp_th_ok2
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">4</span>,jump_thrust
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .jmp_th_ok2
    <span style="color: #00bfff;">clr</span> jump_thrust
    .jmp_th_ok2
    <span style="color: #00bfff;">addq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,jump_count
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">20</span>,jump_count
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .update_jmp
    &nbsp;
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,jump_count
    &nbsp;
    <span style="color: #00bfff;">move</span> jump_thrust,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">asr</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,scr_spd
    &nbsp;
    <span style="color: #00bfff;">clr</span> player_y
    &nbsp;
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">20</span>/<span style="color: #ff0000;">2</span>,jump_count2
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .th_ok3
    <span style="color: #00bfff;">addq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,jump_count2
    .th_ok3
    <span style="color: #00bfff;">tst</span> jump_thrust
    <span style="color: #00bfff;">bne</span> .all_done
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">20</span>/<span style="color: #ff0000;">2</span>,jump_count2
    <span style="color: #00bfff;">bne</span> .all_done
    &nbsp;
    <span style="color: #00bfff;">clr</span> jump_mode
    <span style="color: #00bfff;">clr</span> player_y
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    .update_jmp
    <span style="color: #00bfff;">lea</span> sintab,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">move</span> jump_count,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">muls</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1024</span>/<span style="color: #ff0000;">20</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> <span style="">(</span><span style="font-weight:bold;">a0</span>,<span style="font-weight:bold;">d0</span><span style="">)</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">ext</span> <span style="font-weight:bold;">d0</span>
    push <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">asr</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,player_y
    <span style="color: #00bfff;">asr</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">d0</span>,player_y
    &nbsp;
    pop <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">asr</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">add</span> jump_thrust,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">asr</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,scr_spd
    <span style="color: #00bfff;">bra</span> .all_done
    .no_jump
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .no_act_slide
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">20</span>/<span style="color: #ff0000;">4</span>,bb_down
    <span style="color: #00bfff;">ble</span>.<span style="color: #00bfff;">s</span> .no_act_slide
    <span style="color: #adadad; font-style: italic;">; tst acc</span>
    <span style="color: #adadad; font-style: italic;">; beq.s .no_act_slide</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">20</span>*<span style="color: #ff0000;">3</span>,slide_count
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,walker_count
    <span style="color: #00bfff;">clr</span> walker_dir
    sf walker_turn
    <span style="color: #00bfff;">bra</span> .all_done
    .no_act_slide
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> joy_spc1,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">btst</span> <span style="font-weight:bold;">d0</span>,joy1
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .no_act_jump
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,jump_mode
    <span style="color: #00bfff;">clr</span> jump_count
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">20</span>/<span style="color: #ff0000;">5</span>,jump_count2
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,walker_count
    <span style="color: #00bfff;">clr</span> scr_spd
    <span style="color: #00bfff;">clr</span> walker_dir
    sf walker_turn
    <span style="color: #00bfff;">bra</span> .all_done
    .no_act_jump
    &nbsp;
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> in_lava
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .not_down
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .not_up
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,walker_dir
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">12</span></span>,scr_spd
    .not_up
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .not_down
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">-1</span>,walker_dir
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">12</span></span>,scr_spd
    .not_down
    &nbsp;
    .we_are_warping
    <span style="color: #00bfff;">move</span> walker_dir,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,game_del<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .walk2
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d3</span>
    .walk2 <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">d3</span>,walker_count
    <span style="color: #00bfff;">and</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">7</span>,walker_count
    &nbsp;
    .all_done
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    ******************************************************************************
    copter_ctrl
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> ctl_off
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .ctl1
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> ctl_off2,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .ctl2
    .ctl1
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> joy_spc1,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">btst</span> <span style="font-weight:bold;">d0</span>,joy1 <span style="color: #adadad; font-style: italic;">;*</span>
    <span style="color: #00bfff;">beq</span> .okay
    .ctl2
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .not_up
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">6</span>,pitch_ang <span style="color: #adadad; font-style: italic;">;6</span>
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> .okay
    <span style="color: #00bfff;">addq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,pitch_ang
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .okay
    .not_up
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .not_down
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">-6</span>,pitch_ang <span style="color: #adadad; font-style: italic;">;-6</span>
    <span style="color: #00bfff;">ble</span>.<span style="color: #00bfff;">s</span> .okay
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,pitch_ang
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .okay
    .not_down
    <span style="color: #00bfff;">tst</span> pitch_ang
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .okay
    <span style="color: #00bfff;">bmi</span>.<span style="color: #00bfff;">s</span> .<span style="color: #00bfff;">add</span>
    .<span style="color: #00bfff;">sub</span>
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,pitch_ang
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .okay
    .<span style="color: #00bfff;">add</span>
    <span style="color: #00bfff;">addq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,pitch_ang
    .okay
    <span style="color: #00bfff;">move</span> pitch_ang,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">asr</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">neg</span> <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,pitch_ang2
    &nbsp;
    <span style="color: #00bfff;">tst</span> warp_count <span style="color: #adadad; font-style: italic;">;WARPSHIP</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .sp_okay
    &nbsp;
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">8</span>,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d1</span>,ccr
    <span style="color: #00bfff;">bcc</span>.<span style="color: #00bfff;">s</span> .is_8
    bvc.<span style="color: #00bfff;">s</span> .is_8
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">4</span>,<span style="font-weight:bold;">d3</span>
    .is_8
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">tst</span> cpu_rspd
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .boss03act
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">d2</span>
    .boss03act
    <span style="color: #00bfff;">move</span> scr_spd,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">cmp</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .sp_okay
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> .sp_sub
    .sp_add
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">d3</span>,scr_spd
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .sp_okay
    .sp_sub
    <span style="color: #00bfff;">sub</span> <span style="font-weight:bold;">d3</span>,scr_spd
    .sp_okay
    <span style="color: #00bfff;">tst</span> xspeed
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .xpbd
    <span style="color: #00bfff;">bmi</span>.<span style="color: #00bfff;">s</span> .xpbadd
    .xpbsub <span style="color: #00bfff;">sub</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">80</span></span>,xspeed
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .xpbd
    .xpbadd <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">80</span></span>,xspeed
    .xpbd
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> joy_spc1,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">btst</span> <span style="font-weight:bold;">d0</span>,joy1
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .no_xmove
    &nbsp;
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .xnl
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,xspeed
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> .xnr
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,xspeed
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .xnr
    .xnl
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">3</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .xnr
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span>-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,xspeed
    <span style="color: #00bfff;">ble</span>.<span style="color: #00bfff;">s</span> .xnr
    <span style="color: #00bfff;">sub</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,xspeed
    .xnr
    <span style="color: #00bfff;">bra</span> .nr
    .no_xmove
    &nbsp;
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .nl
    &nbsp;
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,pbank
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> .pbd
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,pbank
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .pbd
    .nl
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">3</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .nr
    &nbsp;
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span>-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,pbank
    <span style="color: #00bfff;">ble</span>.<span style="color: #00bfff;">s</span> .pbd
    <span style="color: #00bfff;">sub</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">100</span></span>,pbank
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .pbd
    .nr
    <span style="color: #00bfff;">tst</span> pbank
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .pbd
    <span style="color: #00bfff;">bmi</span>.<span style="color: #00bfff;">s</span> .pbadd
    .pbsub <span style="color: #00bfff;">sub</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">80</span></span>,pbank
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .pbd
    .pbadd <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">80</span></span>,pbank
    .pbd
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> ctl_off
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .not_cd
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> joy_spc1,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">btst</span> <span style="font-weight:bold;">d0</span>,joy1
    <span style="color: #00bfff;">bne</span> .not_cd
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bne</span> .not_cu
    &nbsp;
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">6</span>,yspd
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> .cud_okay
    <span style="color: #00bfff;">addq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,yspd
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .cud_okay
    .not_cu
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bne</span> .not_cd
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">-6</span>,yspd
    <span style="color: #00bfff;">ble</span>.<span style="color: #00bfff;">s</span> .cud_okay
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,yspd
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .cud_okay
    .not_cd
    <span style="color: #00bfff;">tst</span> yspd
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .cud_okay
    <span style="color: #00bfff;">bmi</span>.<span style="color: #00bfff;">s</span> .cud_add
    .cud_sub
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,yspd
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .cud_okay
    .cud_add
    <span style="color: #00bfff;">addq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,yspd
    .cud_okay
    <span style="color: #00bfff;">move</span> yspd,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">add</span> player_y,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">cmp</span> min_player_y,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> .cud_1
    <span style="color: #00bfff;">move</span> min_player_y,<span style="font-weight:bold;">d0</span>
    .cud_1 <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">112</span><span style="color: #ff0000;">-2</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">ble</span>.<span style="color: #00bfff;">s</span> .cud_2
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">112</span><span style="color: #ff0000;">-2</span>,<span style="font-weight:bold;">d0</span>
    .cud_2 <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,player_y
    <span style="color: #00bfff;">rts</span>
    ******************************************************************************
    striker_ctrl
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> ctl_off
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .ctl1
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> ctl_off2,<span style="font-weight:bold;">d1</span>
    .ctl1
    <span style="color: #00bfff;">move</span> pbank,<span style="font-weight:bold;">d0</span>
    &nbsp;
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .nl
    &nbsp;
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">180</span></span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">;$100</span>
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">ble</span>.<span style="color: #00bfff;">s</span> .pbd
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .pbd
    .nl
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">3</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .nr
    &nbsp;
    <span style="color: #00bfff;">sub</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">180</span></span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">;$100</span>
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span>-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> .pbd
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .pbd
    .nr
    <span style="color: #00bfff;">tst</span> <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .pbd
    <span style="color: #00bfff;">bmi</span>.<span style="color: #00bfff;">s</span> .pbadd
    .pbsub <span style="color: #00bfff;">sub</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">c0</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">;$80</span>
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .pbd
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .pbd
    .pbadd <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">c0</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">;$80</span>
    <span style="color: #00bfff;">bmi</span>.<span style="color: #00bfff;">s</span> .pbd
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d0</span>
    .pbd <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,pbank
    &nbsp;
    <span style="color: #00bfff;">ASR</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">4</span><span style="color: #ff0000;">+3</span><span style="color: #ff0000;">+1</span>,<span style="font-weight:bold;">D0</span> <span style="color: #adadad; font-style: italic;">;4+3</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d2</span> <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">asr</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d2</span> <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">NEG</span> <span style="font-weight:bold;">D0</span>
    **********************************************
    <span style="color: #00bfff;">ADD</span> <span style="font-weight:bold;">d0</span>,player_x
    **********************************************
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span>-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">65</span></span>,player_x
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> .xd1
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">65</span></span>,player_x
    .xd1 <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">5b</span>,player_x
    <span style="color: #00bfff;">ble</span>.<span style="color: #00bfff;">s</span> .xd2
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">5b</span>,player_x
    .xd2
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">8</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">-8</span>,<span style="font-weight:bold;">d3</span>
    &nbsp;
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d5</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> yspd,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> joy_do1,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">btst</span> <span style="font-weight:bold;">d4</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .nd
    <span style="color: #00bfff;">cmp</span> <span style="font-weight:bold;">d3</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .ydone
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">4</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">;4</span>
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .ydone
    .nd
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> joy_up
    <span style="color: #00CC66;">include</span> coms_equ.<span style="color: #00bfff;">s</span>
    <span style="color: #00CC66;">include</span> obj_equ.<span style="color: #00bfff;">s</span>
    &nbsp;
    dcmp macros
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>\<span style="color: #ff0000;">1</span><span style="">)</span>*<span style="color: #ff0000;">4</span>,\<span style="color: #ff0000;">2</span>
    &nbsp;
    <span style="color: #00CC66;">dup</span> macros
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">w</span> -<span style="">(</span><span style="">(</span>\<span style="color: #ff0000;">1</span><span style="">)</span>*<span style="color: #ff0000;">4</span><span style="">)</span>,\<span style="color: #ff0000;">2</span>
    &nbsp;
    dupf macros
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">w</span> -<span style="">(</span><span style="">(</span><span style="">(</span>\<span style="color: #ff0000;">1</span><span style="">)</span>*<span style="color: #ff0000;">4</span><span style="">)</span><span style="color: #ff0000;">+1</span><span style="">)</span>,\<span style="color: #ff0000;">2</span>
    &nbsp;
    <span style="color: #00bfff;">divs</span> <span style="color: #00CC66;">MACRO</span>
    ** <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>divider_unit,r14 <span style="color: #adadad; font-style: italic;">;use R14 as ptr to divide unit</span>
    <span style="color: #00bfff;">move</span> \<span style="color: #ff0000;">1</span>,<span style="">(</span>_d_jr,r14<span style="">)</span>
    <span style="color: #00bfff;">move</span> \<span style="color: #ff0000;">2</span>,<span style="">(</span>_d_hrl32,r14<span style="">)</span>
    <span style="color: #00bfff;">move</span> <span style="">(</span>_d_rsr,r14<span style="">)</span>,\<span style="color: #ff0000;">2</span>
    <span style="color: #00CC66;">ENDM</span>
    &nbsp;
    *************************
    * SLAVE Wait-Task Loop. *
    *************************
    &nbsp;
    game_slave_start:
    <span style="color: #00bfff;">nop</span>
    .game_slave_loop:
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>comport7,r1 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r0 <span style="color: #adadad; font-style: italic;">;clear SLAVE control comport.</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r0,<span style="">(</span>r1<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    .wait_task_loop:
    POLHOST
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r1<span style="">)</span>,r0 <span style="color: #adadad; font-style: italic;">;</span>
    cmpeq <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r0 <span style="color: #adadad; font-style: italic;">;wait for task.</span>
    bt .wait_task_loop <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>task_address+th,r0
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="color: #ff0000;">15</span>*<span style="color: #ff0000;">4</span>,r0<span style="">)</span>,r1
    <span style="color: #00bfff;">move</span> r1,gbr
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="color: #ff0000;">1</span>*<span style="color: #ff0000;">4</span>,r0<span style="">)</span>,r1
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="color: #ff0000;">2</span>*<span style="color: #ff0000;">4</span>,r0<span style="">)</span>,r2
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="color: #ff0000;">3</span>*<span style="color: #ff0000;">4</span>,r0<span style="">)</span>,r3
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="color: #ff0000;">4</span>*<span style="color: #ff0000;">4</span>,r0<span style="">)</span>,r4
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="color: #ff0000;">5</span>*<span style="color: #ff0000;">4</span>,r0<span style="">)</span>,r5
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="color: #ff0000;">6</span>*<span style="color: #ff0000;">4</span>,r0<span style="">)</span>,r6 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="color: #ff0000;">7</span>*<span style="color: #ff0000;">4</span>,r0<span style="">)</span>,r7 <span style="color: #adadad; font-style: italic;">;setup SLAVE r1-r14 & GBR.</span>
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="color: #ff0000;">8</span>*<span style="color: #ff0000;">4</span>,r0<span style="">)</span>,r8 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="color: #ff0000;">9</span>*<span style="color: #ff0000;">4</span>,r0<span style="">)</span>,r9
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="color: #ff0000;">10</span>*<span style="color: #ff0000;">4</span>,r0<span style="">)</span>,r10
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="color: #ff0000;">11</span>*<span style="color: #ff0000;">4</span>,r0<span style="">)</span>,r11
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="color: #ff0000;">12</span>*<span style="color: #ff0000;">4</span>,r0<span style="">)</span>,r12
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="color: #ff0000;">13</span>*<span style="color: #ff0000;">4</span>,r0<span style="">)</span>,r13
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="color: #ff0000;">14</span>*<span style="color: #ff0000;">4</span>,r0<span style="">)</span>,r14
    <span style="color: #00bfff;">move</span> <span style="">(</span>r0<span style="">)</span>,r0
    &nbsp;
    <span style="color: #00bfff;">nop</span> <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">jsr</span> <span style="">(</span>r0<span style="">)</span> <span style="color: #adadad; font-style: italic;">;call task address.</span>
    <span style="color: #00bfff;">nop</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">bra</span> .game_slave_loop <span style="color: #adadad; font-style: italic;">;return to task loop.</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    cnop <span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">4</span> <span style="color: #adadad; font-style: italic;">;align to longword boundry.</span>
    &nbsp;
    task_address:
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">0</span> <span style="color: #adadad; font-style: italic;">;slave task address.</span>
    task_registers:
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span> <span style="color: #adadad; font-style: italic;">;r1-r7.</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">0</span> <span style="color: #adadad; font-style: italic;">;r8-r14.</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">0</span> <span style="color: #adadad; font-style: italic;">;GBR.</span>
    &nbsp;
    lits
    &nbsp;
    **************************
    * MASTER Wait-Task Loop. *
    **************************
    &nbsp;
    game_master_start:
    <span style="color: #adadad; font-style: italic;">; mcom $000c</span>
    <span style="color: #adadad; font-style: italic;">; move #comport5,r1 ;</span>
    <span style="color: #adadad; font-style: italic;">; move.w (r1),r0 ;read Megadrive PAL/NTSC flag.</span>
    <span style="color: #adadad; font-style: italic;">; move #pal_ntsc,r1 ;</span>
    <span style="color: #adadad; font-style: italic;">; move.w r0,(r1)</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>_sysreg,r1 <span style="color: #adadad; font-style: italic;">;allow SH2 to access VDP +</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">8008</span></span>+PWMIRQ_ON,r0 <span style="color: #adadad; font-style: italic;">;enable VBL interrupts.</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r0,<span style="">(</span>r1<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r0,<span style="">(</span>vintclr,r1<span style="">)</span> <span style="color: #adadad; font-style: italic;">;clear VINT ACK register.</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r0,<span style="">(</span>vintclr,r1<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>_frt,r1
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> r0,<span style="">(</span>_tier,r1<span style="">)</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">c2</span>,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> r0,<span style="">(</span>_tocr,r1<span style="">)</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> r0,<span style="">(</span>_ocr_h,r1<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,r0 <span style="color: #adadad; font-style: italic;">;set free run timer.</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> r0,<span style="">(</span>_ocr_l,r1<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> r0,<span style="">(</span>_tcr,r1<span style="">)</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> r0,<span style="">(</span>_tcsr,r1<span style="">)</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> r0,<span style="">(</span>_frc_l,r1<span style="">)</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> r0,<span style="">(</span>_frc_h,r1<span style="">)</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>initPWM,r0
    <span style="color: #00bfff;">jsr</span> <span style="">(</span>r0<span style="">)</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">20</span></span>,r0 <span style="color: #adadad; font-style: italic;">;SH interrupt enable.</span>
    <span style="color: #00bfff;">move</span> r0,sr <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">bsr</span> setup_screen <span style="color: #adadad; font-style: italic;">;clear both screens</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    <span style="color: #00bfff;">MOVE</span> <span style="color: #ff0000;">#</span>COMPORT6,R0 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">MOVE</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">8000</span></span>,R1 <span style="color: #adadad; font-style: italic;">;ENABLE FADE.</span>
    <span style="color: #00bfff;">MOVE</span>.<span style="color: #00bfff;">W</span> R1,<span style="">(</span>R0<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    .loop
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>comport0,r1 <span style="color: #adadad; font-style: italic;">;get command</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r1<span style="">)</span>,r0
    cmpeq <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r0
    bt .loop
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r1<span style="">)</span>,r3 <span style="color: #adadad; font-style: italic;">;allow port to settle</span>
    cmpeq r3,r0
    bf .loop
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>com_last,r3
    cmphi r3,r0
    bt .loop
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>.jump_tab<span style="color: #ff0000;">-4</span>,r2
    <span style="color: #00bfff;">add</span> r0,r2
    <span style="color: #00bfff;">move</span> <span style="">(</span>r2<span style="">)</span>,r0
    &nbsp;
    <span style="color: #00bfff;">jsr</span> <span style="">(</span>r0<span style="">)</span> <span style="color: #adadad; font-style: italic;">;...and call it</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>comport0,r1 <span style="color: #adadad; font-style: italic;">;get command</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r3 <span style="color: #adadad; font-style: italic;">;clear command port</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r3,<span style="">(</span>r1<span style="">)</span>
    &nbsp;
    <span style="color: #00bfff;">bra</span> .loop
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    cnop <span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">4</span>
    &nbsp;
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">0</span>
    .jump_tab
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> wait_vbl
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> flip_screen
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> clear_screen
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> plot_sc_sprite
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> plot_pixel
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> plot_sprite
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> decompress_level
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> decompress_360_level
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> draw_360_floor
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> alloc_reset
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> PlayPWM
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> rotate_player
    &nbsp;
    lits
    &nbsp;
    pal_ntsc <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">0</span> <span style="color: #adadad; font-style: italic;">;PAL/NTSC flag from Megadrive.</span>
    &nbsp;
    ************************
    * Plot point to screen *
    ************************
    &nbsp;
    cnop <span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">4</span>
    &nbsp;
    plot_pixel
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>comport1,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r1 <span style="color: #adadad; font-style: italic;">;get x</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r2 <span style="color: #adadad; font-style: italic;">;get y</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r3 <span style="color: #adadad; font-style: italic;">;get colour</span>
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">224</span>,r4
    cmphs r4,r2
    bt .<span style="color: #00CC66;">exit</span>
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">320</span>,r4
    <span style="color: #00bfff;">muls</span> r4,r2
    cmphs r4,r1
    bt .<span style="color: #00CC66;">exit</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>screen,r0
    <span style="color: #00bfff;">move</span> macl,r2
    <span style="color: #00bfff;">add</span> r1,r0
    <span style="color: #00bfff;">add</span> r2,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> r3,<span style="">(</span>r0<span style="">)</span>
    .<span style="color: #00CC66;">exit</span>
    <span style="color: #00bfff;">rts</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    lits
    &nbsp;
    *************************
    * Draw sprite to screen *
    *************************
    &nbsp;
    cnop <span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">4</span>
    &nbsp;
    plot_sprite
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>comport1,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r2 <span style="color: #adadad; font-style: italic;">;get x</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r3 <span style="color: #adadad; font-style: italic;">;get y</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>,r8 <span style="color: #adadad; font-style: italic;">;get def</span>
    &nbsp;
    shll2 r8
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>frame_table,r0
    <span style="color: #00bfff;">add</span> r8,r0
    <span style="color: #00bfff;">move</span> <span style="">(</span>r0<span style="">)</span>,r0
    &nbsp;
    cmpeq <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r0 <span style="color: #adadad; font-style: italic;">;frame unused?</span>
    bf .skip
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>sp_ringcannon,r0
    <span style="color: #adadad; font-style: italic;">;.exit</span>
    <span style="color: #adadad; font-style: italic;">; rts</span>
    <span style="color: #adadad; font-style: italic;">; nop</span>
    .skip
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r4 <span style="color: #adadad; font-style: italic;">;get xsize</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r5 <span style="color: #adadad; font-style: italic;">;get ysize</span>
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">4</span>,r0
    &nbsp;
    <span style="color: #00bfff;">bra</span> draw_sprite
    <span style="color: #00bfff;">move</span> r0,r1 <span style="color: #adadad; font-style: italic;">;R1 = source data</span>
    &nbsp;
    *************************
    * Draw sprite to screen *
    *************************
    &nbsp;
    cnop <span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">4</span>
    &nbsp;
    plot_sc_sprite
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>comport1,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r2 <span style="color: #adadad; font-style: italic;">;get x</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r3 <span style="color: #adadad; font-style: italic;">;get y</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r6 <span style="color: #adadad; font-style: italic;">;get scale</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>,r8 <span style="color: #adadad; font-style: italic;">;get def</span>
    &nbsp;
    shll2 r8
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>frame_table,r0
    <span style="color: #00bfff;">add</span> r8,r0
    <span style="color: #00bfff;">move</span> <span style="">(</span>r0<span style="">)</span>,r0
    &nbsp;
    cmpeq <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r0 <span style="color: #adadad; font-style: italic;">;frame unused?</span>
    bf .skip
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>sp_ringcannon,r0
    <span style="color: #adadad; font-style: italic;">;.exit</span>
    <span style="color: #adadad; font-style: italic;">; rts</span>
    <span style="color: #adadad; font-style: italic;">; nop</span>
    .skip
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,r11 <span style="color: #adadad; font-style: italic;">;flip flag into R11 (0 = unflipped , 1 = flipped)</span>
    <span style="color: #00bfff;">and</span> r0,r11 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">sub</span> r11,r0 <span style="color: #adadad; font-style: italic;">;</span>

    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r4 <span style="color: #adadad; font-style: italic;">;get xsize</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r5 <span style="color: #adadad; font-style: italic;">;get ysize</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r8 <span style="color: #adadad; font-style: italic;">;get x-off</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r9 <span style="color: #adadad; font-style: italic;">;get y-off</span>
    &nbsp;
    shll8 r8
    shll8 r9
    shll2 r8
    shll2 r9
    shll r8
    shll r9
    &nbsp;
    <span style="color: #00bfff;">move</span> r0,r1 <span style="color: #adadad; font-style: italic;">;R1 = source data</span>
    <span style="color: #00bfff;">move</span> r11,r0
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>divider_unit,r10
    &nbsp;
    <span style="color: #00bfff;">move</span> r6,<span style="">(</span>_d_jr,r10<span style="">)</span>
    <span style="color: #00bfff;">move</span> r8,<span style="">(</span>_d_hrl32,r10<span style="">)</span>
    <span style="color: #00bfff;">move</span> <span style="">(</span>_d_rsr,r10<span style="">)</span>,r8
    cmpeq <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r0
    bt .<span style="color: #ff0000;">2</span>
    <span style="color: #00bfff;">neg</span> r8,r8
    .<span style="color: #ff0000;">2</span>
    <span style="color: #00bfff;">sub</span> r8,r2
    &nbsp;
    <span style="color: #00bfff;">move</span> r6,<span style="">(</span>_d_jr,r10<span style="">)</span> <span style="color: #adadad; font-style: italic;">;is this trashed??</span>
    <span style="color: #00bfff;">move</span> r9,<span style="">(</span>_d_hrl32,r10<span style="">)</span>
    <span style="color: #00bfff;">move</span> <span style="">(</span>_d_rsr,r10<span style="">)</span>,r9
    <span style="color: #00bfff;">sub</span> r9,r3

    shll2 r6
    shll2 r6
    shll r6
    &nbsp;
    cmpeq <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r0
    bf/<span style="color: #00bfff;">s</span> .<span style="color: #ff0000;">1</span>
    <span style="color: #00bfff;">move</span> r6,r7 <span style="color: #adadad; font-style: italic;">;yscale = xscale</span>
    &nbsp;
    <span style="color: #00bfff;">bra</span> scale_sprite
    <span style="color: #00bfff;">nop</span>
    .<span style="color: #ff0000;">1</span>
    <span style="color: #00bfff;">bra</span> scale_flip_sprite
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    lits
    &nbsp;
    *********************
    * DMAC clear screen *
    *********************
    &nbsp;
    cnop <span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">4</span>
    &nbsp;
    dmac_clear
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>_dmasource1,r8 <span style="color: #adadad; font-style: italic;">;point to DMAC.</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r3
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r3,<span style="">(</span>r1<span style="">)</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="color: #ff0000;">12</span>,r8<span style="">)</span>,r0 <span style="color: #adadad; font-style: italic;">;read (clear TE flag)</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r0 <span style="color: #adadad; font-style: italic;">;stop DMA.</span>
    <span style="color: #00bfff;">move</span> r0,<span style="">(</span><span style="color: #ff0000;">12</span>,r8<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">01</span>,r0 <span style="color: #adadad; font-style: italic;">;enable DMA.</span>
    <span style="color: #00bfff;">move</span> r0,<span style="">(</span><span style="color: #ff0000;">32</span>,r8<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> r1,<span style="">(</span>r8<span style="">)</span> <span style="color: #adadad; font-style: italic;">;store DMA source address.</span>

    <span style="color: #00bfff;">move</span> r1,<span style="">(</span><span style="color: #ff0000;">4</span>,r8<span style="">)</span> <span style="color: #adadad; font-style: italic;">;store DMA destination address.</span>

    <span style="color: #00bfff;">move</span> r2,r0 <span style="color: #adadad; font-style: italic;">;store DMA size.</span>
    <span style="color: #00bfff;">move</span> r0,<span style="">(</span><span style="color: #ff0000;">8</span>,r8<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>%<span style="color: #ff0000;">0100011000000001</span>,r0 <span style="color: #adadad; font-style: italic;">;start DMA.</span>
    <span style="color: #00bfff;">move</span> r0,<span style="">(</span><span style="color: #ff0000;">12</span>,r8<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">rts</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    lits
    &nbsp;
    ****************************
    * Clear Screen - <span style="color: #ff0000;">360</span> stage *
    ****************************
    &nbsp;
    clear_screen_360
    <span style="color: #00CC66;">stack</span>
    &nbsp;
    swait
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>task_address+th,r5 <span style="color: #adadad; font-style: italic;">;point to SLAVE task setup.</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>screen+<span style="">(</span><span style="color: #ff0000;">136</span>*<span style="color: #ff0000;">160</span><span style="">)</span>,r1
    <span style="color: #00bfff;">move</span> r1,<span style="">(</span><span style="color: #ff0000;">1</span>*<span style="color: #ff0000;">4</span>,r5<span style="">)</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>.clear,r0
    <span style="color: #00bfff;">move</span> r0,<span style="">(</span>r5<span style="">)</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>comport7,r14
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r0,<span style="">(</span>r14<span style="">)</span>
    &nbsp;
    <span style="color: #00bfff;">bsr</span> .clear
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>screen,r1
    &nbsp;
    unstack
    <span style="color: #00bfff;">rts</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    cnop <span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">4</span>
    &nbsp;
    .clear
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">136</span>*<span style="color: #ff0000;">320</span><span style="">)</span>/<span style="color: #ff0000;">4</span>,r0
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r2
    .clr_loop:
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r2,<span style="">(</span>r1<span style="">)</span>
    <span style="color: #00CC66;">dt</span> r0
    bf/<span style="color: #00bfff;">s</span> .clr_loop
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,r1
    &nbsp;
    <span style="color: #00bfff;">rts</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    cnop <span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">4</span>
    &nbsp;
    ****************
    * Clear Screen *
    ****************
    &nbsp;
    clear_screen
    <span style="color: #00CC66;">stack</span>
    &nbsp;
    swait
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>task_address+th,r5 <span style="color: #adadad; font-style: italic;">;point to SLAVE task setup.</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>screen+<span style="">(</span><span style="color: #ff0000;">224</span>*<span style="color: #ff0000;">160</span><span style="">)</span>,r1
    <span style="color: #00bfff;">move</span> r1,<span style="">(</span><span style="color: #ff0000;">1</span>*<span style="color: #ff0000;">4</span>,r5<span style="">)</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>.clear,r0
    <span style="color: #00bfff;">move</span> r0,<span style="">(</span>r5<span style="">)</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>comport7,r14
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r0,<span style="">(</span>r14<span style="">)</span>
    &nbsp;
    <span style="color: #00bfff;">bsr</span> .clear
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>screen,r1
    &nbsp;
    swait
    &nbsp;
    unstack
    <span style="color: #00bfff;">rts</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    cnop <span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">4</span>
    &nbsp;
    .clear
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">224</span>*<span style="color: #ff0000;">320</span><span style="">)</span>/<span style="color: #ff0000;">4</span>,r0
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r2
    .clr_loop:
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r2,<span style="">(</span>r1<span style="">)</span>
    <span style="color: #00CC66;">dt</span> r0
    bf/<span style="color: #00bfff;">s</span> .clr_loop
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,r1
    &nbsp;
    <span style="color: #00bfff;">rts</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    lits
    &nbsp;
    wait_slave
    push r1
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>comport7,r1 <span style="color: #adadad; font-style: italic;">;point to slave control comport.</span>
    .wait_slave
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r1<span style="">)</span>,r0 <span style="color: #adadad; font-style: italic;">;</span>
    cmpeq <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r0 <span style="color: #adadad; font-style: italic;">;wait slave.</span>
    bf .wait_slave <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">rts</span>
    pop r1
    &nbsp;
    start_slave
    push r1
    <span style="color: #00bfff;">move</span> r0,<span style="">(</span>r5<span style="">)</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>comport7,r1
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r0,<span style="">(</span>r1<span style="">)</span>
    <span style="color: #00bfff;">rts</span>
    pop r1
    &nbsp;
    *************************************
    * Clear Screen + Setup Line-Tables. *
    *************************************
    &nbsp;
    setup_screen:
    <span style="color: #00CC66;">stack</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>fb_cont_reg,r14
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>bm_mode_reg<span style="color: #ff0000;">+1</span>,r0 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span>%<span style="color: #ff0000;">10000001</span>,r1 <span style="color: #adadad; font-style: italic;">;byte per pixel mode.</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> r1,<span style="">(</span>r0<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">8000</span></span>,r1
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>palette,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r1,<span style="">(</span>r0<span style="">)</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,r13
    <span style="color: #00bfff;">bsr</span> .clear_flip <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">nop</span> <span style="color: #adadad; font-style: italic;">;clear both flipscreens.</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r13 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">bsr</span> .clear_flip
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    unstack
    &nbsp;
    <span style="color: #00bfff;">rts</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    .clear_flip
    <span style="color: #00CC66;">stack</span>
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r13,<span style="">(</span>r14<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">bsr</span> wait_vbl <span style="color: #adadad; font-style: italic;">;select frame buffer.</span>
    <span style="color: #00bfff;">nop</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>screen,r0 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">240</span>*<span style="color: #ff0000;">320</span><span style="">)</span>/<span style="color: #ff0000;">2</span>,r1 <span style="color: #adadad; font-style: italic;">;setup screen clear loop.</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r2 <span style="color: #adadad; font-style: italic;">;</span>
    .clr_loop:
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r2,<span style="">(</span>r0<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,r0 <span style="color: #adadad; font-style: italic;">;clear screen buffer.</span>
    <span style="color: #00CC66;">dt</span> r1 <span style="color: #adadad; font-style: italic;">;</span>
    bf .clr_loop
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>line_table,r0 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">1e0</span>/<span style="color: #ff0000;">2</span>,r1 <span style="color: #adadad; font-style: italic;">;setup linestart setup loop.</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">160</span>,r2 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">240</span>,r3
    .set_line_loop:
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r1,<span style="">(</span>r0<span style="">)</span> <span style="color: #adadad; font-style: italic;">;write linestart.</span>
    &nbsp;
    <span style="color: #00bfff;">add</span> r2,r1 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,r0 <span style="color: #adadad; font-style: italic;">;setup all linestarts.</span>
    <span style="color: #00CC66;">dt</span> r3 <span style="color: #adadad; font-style: italic;">;</span>
    bf .set_line_loop
    &nbsp;
    unstack
    &nbsp;
    <span style="color: #00bfff;">rts</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    lits
    &nbsp;
    ****************
    * Flip Screen. *
    ****************
    &nbsp;
    flip_screen:
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>flip_enable+th,r1 <span style="color: #adadad; font-style: italic;">;point to flip flag.</span>
    .wait:
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r1<span style="">)</span>,r0 <span style="color: #adadad; font-style: italic;">;</span>
    cmpeq <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r0 <span style="color: #adadad; font-style: italic;">;buffer flips.</span>
    bf .wait <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,r0 <span style="color: #adadad; font-style: italic;">;flag flip.</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r0,<span style="">(</span>r1<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">rts</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    lits
    &nbsp;
    *******************
    * Wait <span style="color: #00CC66;">for</span> A VBL. *
    *******************
    &nbsp;
    wait_vbl:
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>vbl_count+th,r1 <span style="color: #adadad; font-style: italic;">;setup VBL wait loop.</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r1<span style="">)</span>,r0 <span style="color: #adadad; font-style: italic;">;</span>
    .loop:
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r1<span style="">)</span>,r2 <span style="color: #adadad; font-style: italic;">;</span>
    cmpeq r0,r2 <span style="color: #adadad; font-style: italic;">;wait for VBL_COUNT to change.</span>
    bt .loop <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">rts</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    lits
    &nbsp;
    ************************************
    * Enable,Disable & Set Fade Level. *
    ************************************
    &nbsp;
    set_fade:
    push r0
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>comport6,r0 <span style="color: #adadad; font-style: italic;">;write fade value to comport.</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r4,<span style="">(</span>r0<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    pop r0
    &nbsp;
    <span style="color: #00bfff;">rts</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    *****************************
    * Setup Pointer to Palette. *
    *****************************
    &nbsp;
    set_palette:
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>pal_ptr,r0 <span style="color: #adadad; font-style: italic;">;setup pointer for VBL.</span>
    <span style="color: #00bfff;">move</span> r4,<span style="">(</span>r0<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">rts</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    *************************
    * Master VBL Interrupt. *
    *************************
    &nbsp;
    vblank:
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>vbl_count+th,r1 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r1<span style="">)</span>,r0 <span style="color: #adadad; font-style: italic;">;update VBL count.</span>
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,r0 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r0,<span style="">(</span>r1<span style="">)</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>flip_enable+th,r1 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r1<span style="">)</span>,r0 <span style="color: #adadad; font-style: italic;">;flip screen?</span>
    cmpeq <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r0 <span style="color: #adadad; font-style: italic;">;</span>
    bt .no_flip
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r0 <span style="color: #adadad; font-style: italic;">;flag screen flipped.</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r0,<span style="">(</span>r1<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>fb_cont_reg<span style="color: #ff0000;">+1</span>,r1 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> <span style="">(</span>r1<span style="">)</span>,r0 <span style="color: #adadad; font-style: italic;">;flip VDP bank.</span>
    <span style="color: #00bfff;">not</span> r0,r0 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> r0,<span style="">(</span>r1<span style="">)</span>
    .no_flip:
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>comport6,r0 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>,r0 <span style="color: #adadad; font-style: italic;">;fade screen?</span>
    cmppz r0 <span style="color: #adadad; font-style: italic;">;</span>
    bt .no_fade
    &nbsp;
    push r2
    push r3
    push r4
    push r5
    push r6
    push r7
    push r8
    push r9
    push r10
    push r11
    &nbsp;
    <span style="color: #00bfff;">move</span> r0,r6 <span style="color: #adadad; font-style: italic;">;copy fade value.</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>game_pal<span style="color: #ff0000;">+2</span>,r0 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>palette<span style="color: #ff0000;">+2</span>,r1 <span style="color: #adadad; font-style: italic;">;setup palette fade loop.</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">256</span><span style="color: #ff0000;">-1</span>,r2 <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0000000011111</span>,r3 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0001111100000</span>,r4 <span style="color: #adadad; font-style: italic;">;setup palette fade masks.</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>%<span style="color: #ff0000;">111110000000000</span>,r5 <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">and</span> r3,r6 <span style="color: #adadad; font-style: italic;">;mask out fade value (0-31).</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> r6,r7
    shll2 r7
    shll2 r7 <span style="color: #adadad; font-style: italic;">;</span>
    shll r7 <span style="color: #adadad; font-style: italic;">;setup palette subtractors.</span>
    <span style="color: #00bfff;">move</span> r6,r8 <span style="color: #adadad; font-style: italic;">;</span>
    shll8 r8
    shll2 r8
    .fade_pal_loop:
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>+,r9 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span> r9,r10 <span style="color: #adadad; font-style: italic;">;read RGB value.</span>
    <span style="color: #00bfff;">move</span> r9,r11 <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00bfff;">and</span> r3,r9
    <span style="color: #00bfff;">sub</span> r6,r9 <span style="color: #adadad; font-style: italic;">;</span>
    cmppz r9 <span style="color: #adadad; font-style: italic;">;reduce blue componant.</span>
    bt .no_blue <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r9
    .no_blue:
    <span style="color: #00bfff;">and</span> r4,r10
    <span style="color: #00bfff;">sub</span> r7,r10 <span style="color: #adadad; font-style: italic;">;</span>
    cmppz r10 <span style="color: #adadad; font-style: italic;">;reduce green componant.</span>
    bt .no_green <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r10
    .no_green:
    <span style="color: #00bfff;">and</span> r5,r11
    <span style="color: #00bfff;">sub</span> r8,r11 <span style="color: #adadad; font-style: italic;">;</span>
    cmppz r11 <span style="color: #adadad; font-style: italic;">;reduce red componant.</span>
    bt .no_red <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r11
    .no_red:
    <span style="color: #00bfff;">or</span> r10,r9 <span style="color: #adadad; font-style: italic;">;</span>
    <span style="color: #00bfff;">or</span> r11,r9 <span style="color: #adadad; font-style: italic;">;write RGB value.</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r9,<span style="">(</span>r1<span style="">)</span> <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    <span style="color: #00CC66;">dt</span> r2 <span style="color: #adadad; font-style: italic;">;</span>
    bf/<span style="color: #00bfff;">s</span> .fade_pal_loop <span style="color: #adadad; font-style: italic;">;fade whole palette.</span>
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,r1 <span style="color: #adadad; font-style: italic;">;</span>
    &nbsp;
    pop r11
    pop r10
    pop r9
    pop r8
    pop r7
    pop r6
    pop r5
    pop r4
    pop r3
    pop r2
    .no_fade:
    push r2
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">0F</span><<<span style="color: #ff0000;">10</span><span style="">)</span>+<span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">17</span></span><<<span style="color: #ff0000;">5</span><span style="">)</span>,r2
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>vbl_count+th,r1
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r1<span style="">)</span>,r0
    <span style="color: #00bfff;">tst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,r0
    bt .skip
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,r2
    .skip <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>engine_glow,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span>r0<span style="">)</span>,r1
    xor r2,r1
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r1,<span style="">(</span>r0<span style="">)</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>palette+<span style="">(</span><span style="color: #ff0000;">192</span>*<span style="color: #ff0000;">2</span><span style="">)</span>,r0
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> r1,<span style="">(</span>r0<span style="">)</span>
    pop r2
    &nbsp;
    POLHOST
    &nbsp;
    <span style="color: #00bfff;">rts</span>
    <span style="color: #00bfff;">nop</span>
    &nbsp;
    lits
    &nbsp;
    cnop <span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">4</span>
    &nbsp;
    floor_map <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">0</span>
    floor_blocks <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">0</span>
    map_lookup <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">0</span> <span style="color: #adadad; font-style: italic;">;128*8*2 = 90 blocks,8 rotations,2 longwords each.</span>
    tvb_table <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">0</span> <span style="color: #adadad; font-style: italic;">;ysize*4</span>
    &nbsp;
    vcnt <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">ff00</span>
    scr_ptr <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> screen
    pal_ptr <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> game_pal<span style="color: #ff0000;">+2</span>
    alloc_ptr2 <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">0</span>
    &nbsp;
    vbl_count <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">0</span>
    flip_enable <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">0</span>
    engine_glow <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">w</span> <span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">1F</span><<<span style="color: #ff0000;">10</span><span style="">)</span>+<span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">1F</span><<<span style="color: #ff0000;">5</span><span style="">)</span>
    &nbsp;
    ship1_pal <span style="color: #00bfff;">incbin</span> sprites\ship1\ship.pal
    ship2_pal <span style="color: #00bfff;">incbin</span> sprites\ship2\ship2.pal
    &nbsp;
    game_pal
    <span style="color: #00bfff;">incbin</span> panel.pal
    <span style="color: #00bfff;">incbin</span> sprites\ship2\ship2.pal
    game2_pal
    <span style="color: #00bfff;">incbin</span> level02.pal
    <span style="color: #00bfff;">incbin</span> sprite.pal
    &nbsp;
    ******************************************************************************
    &nbsp;
    <span style="color: #00CC66;">include</span> sprite.sh2
    <span style="color: #00CC66;">include</span> floor.sh2
    <span style="color: #00CC66;">include</span> pwm.sh2
    <span style="color: #00CC66;">include</span> rotspr.sh2
    &nbsp;
    cnop <span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">4</span>
    &nbsp;
    frame_table
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship00
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship01
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship02
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship03
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship04
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship05
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship06
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship07
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship08
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship09
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship10
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship11
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship12
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship13
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship14
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship05<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship06<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship07<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship08<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship09<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship00<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship01<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship02<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship03<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_pl_ship04<span style="color: #ff0000;">+1</span>
    &nbsp;
    <span style="font-weight:bold;">ds</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">25</span>
    &nbsp;
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship09
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship10
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship11
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship12
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship13
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship14
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship15
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship16
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship17
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship00
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship01
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship02
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship03
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship04
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship05
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship06
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship07
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship08
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship09<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship10<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship11<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship12<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship13<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship14<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship15<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship16<span style="color: #ff0000;">+1</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_tc_ship17<span style="color: #ff0000;">+1</span>
    &nbsp;
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_plasma_shot <span style="color: #adadad; font-style: italic;">;o_weap1</span>
    &nbsp;
    <span style="font-weight:bold;">ds</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">4</span> <span style="color: #adadad; font-style: italic;">;o_srocks</span>
    <span style="font-weight:bold;">ds</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">42</span> <span style="color: #adadad; font-style: italic;">;o_enemy1</span>
    &nbsp;
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_gro_exp00 <span style="color: #adadad; font-style: italic;">;o_gro_exp</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_gro_exp01
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_gro_exp02
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_gro_exp03
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_gro_exp04
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_gro_exp05
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_gro_exp06
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_gro_exp07
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_gro_exp08
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_gro_exp09
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_gro_exp10
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_gro_exp11
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_gro_exp12
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_gro_exp13
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_gro_exp14
    &nbsp;
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_air_exp00 <span style="color: #adadad; font-style: italic;">;o_air_exp</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_air_exp01
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_air_exp02
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_air_exp03
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_air_exp04
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_air_exp05
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_air_exp06
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_air_exp07
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_air_exp08
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> sp_air_exp09
    &nbsp;
    dme_del
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .ng_roll
    <span style="color: #00bfff;">or</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">1000</span></span>,game_del
    .ng_roll:
    ***************************************
    <span style="color: #00bfff;">move</span> scr_spd,<span style="font-weight:bold;">d0</span>
    <span style="color: #00CC66;">IF</span> l_type=<span style="color: #ff0000;">0</span>
    <span style="color: #00bfff;">muls</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">3334</span></span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">add</span> scr_spd,<span style="font-weight:bold;">d0</span>
    <span style="color: #00CC66;">ENDIF</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,scr_spd2
    ***************************************
    <span style="color: #00bfff;">tst</span> sh_hit_num
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .sh_hit_ok
    <span style="color: #00bfff;">tst</span> dying_cnt
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .sh_hit_ok
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,sh_hit_del
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .sh_hit_ok
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,sh_hit_num
    <span style="color: #00bfff;">jsr</span> do_low_shield_sfx
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>sh_del,sh_hit_del
    .sh_hit_ok:
    ***************************************
    <span style="color: #00bfff;">jsr</span> pickup_system
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">04</span>,level
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .not_gigun
    <span style="color: #00bfff;">jsr</span> gigun_checks
    .not_gigun:
    <span style="color: #00bfff;">jsr</span> end_fader
    ***************************************
    sf hit_sfx_already
    &nbsp;
    <span style="color: #00bfff;">tst</span> torpedo_count
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .normal_pals
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,torpedo_count
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">and</span> torpedo_count,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .normal_pals
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">777f</span>,torp_fade
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .p4
    .normal_pals:
    <span style="color: #00bfff;">clr</span> torp_fade
    .p4:
    ***************************************
    <span style="color: #00bfff;">jsr</span> level_flipper
    ***************************************
    <span style="color: #00bfff;">clr</span> tmp_slot
    ***************************************
    * Do all processing here! *
    ***************************
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,gcnt3
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .gcnt3
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">3</span><span style="color: #ff0000;">-1</span>,gcnt3
    .gcnt3:
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,gcnt5
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .gcnt5
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">5</span><span style="color: #ff0000;">-1</span>,gcnt5
    .gcnt5:
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,gcnt6
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .gcnt6
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">6</span><span style="color: #ff0000;">-1</span>,gcnt6
    .gcnt6:
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,gcnt9
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .gcnt9
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">9</span><span style="color: #ff0000;">-1</span>,gcnt9
    .gcnt9:
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,gcnt10
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .gcnt10
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">9</span><span style="color: #ff0000;">-1</span>,gcnt10
    .gcnt10:
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,gcnt12
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .gcnt12
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">12</span><span style="color: #ff0000;">-1</span>,gcnt12
    .gcnt12:
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,gcnt19
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .gcnt19
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">19</span><span style="color: #ff0000;">-1</span>,gcnt19
    .gcnt19:
    <span style="color: #00bfff;">tst</span> dying_cnt
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .not_dying
    <span style="color: #00bfff;">jsr</span> do_player_dying
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .no_ctl
    .not_dying:
    <span style="color: #00bfff;">tst</span> startup_count
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .no_ctl
    <span style="color: #00bfff;">jsr</span> do_v_control
    .no_ctl:
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> is_360
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .no_360
    <span style="color: #00bfff;">jsr</span> set_360_map_pos
    .no_360:
    ***************************************
    <span style="color: #00bfff;">bsr</span> level_control
    ***************************************
    <span style="color: #00bfff;">jsr</span> handle_qsounds
    ***************************************
    <span style="color: #00bfff;">jsr</span> create_enemies
    <span style="color: #00bfff;">jsr</span> get_all_enemies
    <span style="color: #00bfff;">jsr</span> get_all_weapons
    <span style="color: #00bfff;">jsr</span> do_next_weapon
    ******************************************************************************
    * Check <span style="color: #00CC66;">for</span> 2nd player *
    ************************
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> ply2mode
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .1player_only
    <span style="color: #00bfff;">jsr</span> do_next_weapon_2
    <span style="color: #00bfff;">jsr</span> player_2_control
    <span style="color: #00bfff;">jsr</span> player_2_weapons
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .2player_done
    .1player_only:
    <span style="color: #00bfff;">jsr</span> power_transfer_1p
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,vehicle
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .not_walker1
    <span style="color: #00bfff;">jsr</span> do_1p_walker_targetting
    &nbsp;
    <span style="color: #00bfff;">tst</span> poptarg
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .no_poptarg
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,poptarg
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> mtarget,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .no_poptarg
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">a6</span>
    <span style="color: #00bfff;">move</span> mob_x<span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span> mob_y<span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">lea</span> node_msight,<span style="font-weight:bold;">a6</span>
    <span style="color: #00bfff;">movem</span> <span style="font-weight:bold;">d0</span>/<span style="font-weight:bold;">d1</span>/<span style="font-weight:bold;">d2</span>/<span style="font-weight:bold;">d6</span>/<span style="font-weight:bold;">d7</span>,node_data<span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>ot_msight,mob_type<span style="">(</span><span style="font-weight:bold;">a6</span><span style="">)</span>
    <span style="color: #00bfff;">jsr</span> insert_sprite
    .no_poptarg:
    &nbsp;
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .2player_done
    .not_walker1:
    <span style="color: #00bfff;">lea</span> weapon_tab,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">add</span> weapon,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">cmp</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span>pw_bomblet,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .2player_done
    <span style="color: #00bfff;">jsr</span> handle_missile_sight
    .2player_done:
    ******************************************************************************
    <span style="color: #00bfff;">jsr</span> plot_rams
    <span style="color: #00bfff;">jsr</span> plot_player
    <span style="color: #00bfff;">tst</span> charge_cnt
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .not_charging
    <span style="color: #00bfff;">jsr</span> insert_charge_spr
    .not_charging:
    ***************************************
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">and</span> torpedo_count,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">bne</span> .no_pause
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">16</span>,game_del
    <span style="color: #00bfff;">ble</span> .no_pause
    <span style="color: #00bfff;">tst</span> end_fade
    <span style="color: #00bfff;">bne</span> .no_pause
    <span style="color: #00bfff;">tst</span> fade_count
    <span style="color: #00bfff;">bne</span> .no_pause
    &nbsp;
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> ply2mode
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .not_2ply_99
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span>button_pause,joy1_2
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .pausing
    .not_2ply_99:
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span>button_pause,joy1
    <span style="color: #00bfff;">bne</span> .no_pause
    .pausing:
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> cs_reltime,-<span style="">(</span><span style="font-weight:bold;">sp</span><span style="">)</span>
    <span style="color: #00bfff;">jsr</span> pause_sound
    .pw1:
    <span style="color: #00bfff;">jsr</span> wait_vbl
    <span style="color: #00bfff;">jsr</span> readpad
    &nbsp;
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> ply2mode
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .not_2ply_98
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span>button_pause,joy1_2
    <span style="color: #00bfff;">beq</span> .pw1
    .not_2ply_98:
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span>button_pause,joy1
    <span style="color: #00bfff;">beq</span> .pw1
    .pw2:
    <span style="color: #00bfff;">jsr</span> wait_vbl
    <span style="color: #00bfff;">jsr</span> readpad
    &nbsp;
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> ply2mode
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .not_2ply_97
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span>button_pause,joy1_2
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .pw3
    .not_2ply_97:
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span>button_pause,joy1
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .pw2
    .pw3:
    <span style="color: #00bfff;">jsr</span> wait_vbl
    <span style="color: #00bfff;">jsr</span> readpad
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span>button_pause,joy1
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .pw3
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> ply2mode
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .not_2ply_96
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span>button_pause,joy1_2
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .pw3
    .not_2ply_96:
    <span style="color: #00bfff;">jsr</span> unpause_sound
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">sp</span><span style="">)</span>+,cs_reltime
    .no_pause:
    ******************************************************************************
    <span style="color: #00bfff;">jsr</span> term_list
    &nbsp;
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">26</span>,level
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .bodge_26
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">08</span>,level
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .not_bodge_08
    .bodge_26:
    <span style="color: #00bfff;">jsr</span> draw_underside
    .not_bodge_08:
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> floorB,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> floorF,floorB
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,floorF
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> scrB,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> scrF,scrB
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,scrF
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> listB,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> listF,listB
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,listF
    &nbsp;
    <span style="color: #adadad; font-style: italic;">; MOVE.B #16,shield</span>
    &nbsp;
    ******************************************************************************
    <span style="color: #00bfff;">cmp</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,reset_flag
    <span style="color: #00bfff;">beq</span> main_start
    ******************************************************************************
    &nbsp;
    <span style="color: #00bfff;">tst</span> dying_cnt
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .die1
    &nbsp;
    <span style="color: #00bfff;">cmp</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">-2</span>,shield
    <span style="color: #00bfff;">bge</span> mloop
    <span style="color: #00bfff;">tst</span> timer_val
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .no_stop_music
    <span style="color: #00bfff;">jsr</span> stop_music
    .no_stop_music:
    <span style="font-weight:bold;">st</span> deact_weaps
    <span style="color: #00bfff;">jsr</span> do_exp2_sfx
    .die1:
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">20</span>*<span style="color: #ff0000;">2</span>,dying_cnt
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .die2
    <span style="color: #00bfff;">clr</span> last_plyhit
    .die2:
    <span style="color: #00bfff;">jsr</span> dying_fader
    <span style="color: #00bfff;">addq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,dying_cnt
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">20</span>*<span style="color: #ff0000;">4</span>,dying_cnt
    <span style="color: #00bfff;">bne</span> mloop
    &nbsp;
    sf in_game
    <span style="color: #00bfff;">jsr</span> scroff
    <span style="color: #00bfff;">jsr</span> set_scron_delay
    &nbsp;
    <span style="color: #00bfff;">lea</span> <span style="color: #00CC66;">stack</span>,<span style="font-weight:bold;">sp</span>
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,lives
    <span style="color: #00bfff;">bne</span> continue_game
    &nbsp;
    * All lives gone!
    &nbsp;
    <span style="color: #adadad; font-style: italic;">; lea the_end_seq_file,a1</span>
    <span style="color: #adadad; font-style: italic;">; jsr play_anim</span>
    <span style="color: #adadad; font-style: italic;">; jsr fade_out_anim</span>
    &nbsp;
    <span style="color: #00bfff;">clr</span> dying_fade_val
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span>TITLE_FILE,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">jsr</span> load_files
    <span style="color: #00bfff;">jsr</span> hiscore_game_over
    &nbsp;
    <span style="color: #00bfff;">jmp</span> main_start2
    &nbsp;
    continue_game:
    <span style="color: #00bfff;">bsr</span> restart_life_lost
    <span style="color: #00bfff;">bsr</span> level_setup
    *************************************************
    <span style="color: #00bfff;">lea</span> node_head,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">lea</span> node_tail,<span style="font-weight:bold;">a1</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a1</span>,node_next<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a0</span>,node_prev<span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>
    <span style="color: #00bfff;">clr</span> game_del
    *************************************************
    <span style="color: #00bfff;">bra</span> mloop
    ******************************************************************************
    init_startup:
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">63</span><span style="color: #ff0000;">+20</span>,startup_count
    <span style="color: #00bfff;">jmp</span> do_thrusting_sfx
    &nbsp;
    do_pl_startup:
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">00000037</span></span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,player_x
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">62</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> .<span style="color: #ff0000;">1</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">d1</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">move</span> pl_st_table<span style="color: #ff0000;">-2</span><span style="">(</span>pc,<span style="font-weight:bold;">d1</span><span style="">)</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">256</span>/<span style="color: #ff0000;">2</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">88</span>,<span style="font-weight:bold;">d1</span>
    .<span style="color: #ff0000;">1</span>:
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,startup_count
    <span style="color: #00bfff;">move</span> vehicle,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">b</span> .table2<span style="">(</span>pc,<span style="font-weight:bold;">d7</span><span style="">)</span>,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">32</span>,startup_count
    <span style="color: #00bfff;">ble</span>.<span style="color: #00bfff;">s</span> .<span style="color: #ff0000;">2</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">510</span>,<span style="font-weight:bold;">d7</span>
    .<span style="color: #ff0000;">2</span>:
    <span style="color: #00bfff;">rts</span>
    .table2:
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">11</span>,<span style="color: #ff0000;">13</span>
    <span style="color: #00CC66;">even</span>
    pl_st_table:
    <span style="color: #00bfff;">dc</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">801</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">802</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">804</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">808</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">810</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">820</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">830</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">840</span></span>
    <span style="color: #00bfff;">dc</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">860</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">880</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">8a0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">8c0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">8e0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">900</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">940</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">980</span></span>
    <span style="color: #00bfff;">dc</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">9b0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">9e0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">a10</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">a40</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">a70</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">aa0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">ac0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">ae0</span>
    <span style="color: #00bfff;">dc</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">ae8</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">af0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">af8</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">afc</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">afe</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">afd</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">afc</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">afa</span>
    <span style="color: #00bfff;">dc</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">af8</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">af4</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">af0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">ae8</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">ae0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">ad8</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">ad0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">ac0</span>
    <span style="color: #00bfff;">dc</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">ab0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">aa0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">a80</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">a60</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">a40</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">a00</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">9c0</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">980</span></span>
    <span style="color: #00bfff;">dc</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">940</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">900</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">880</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">800</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">780</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">700</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">680</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">600</span></span>
    <span style="color: #00bfff;">dc</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">580</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">500</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">480</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">380</span></span>
    &nbsp;
    dump_gpu_floor:
    <span style="color: #00bfff;">lea</span> lin_gpu,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">lea</span> overlays,<span style="font-weight:bold;">a1</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>lin_gpuL/<span style="color: #ff0000;">4</span>,<span style="font-weight:bold;">d7</span>
    .loop: <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+,<span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>+
    <span style="color: #00bfff;">dbf</span> <span style="font-weight:bold;">d7</span>,.loop
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    dump_gpu_360:
    <span style="color: #00bfff;">lea</span> l360_gpu,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">lea</span> overlays,<span style="font-weight:bold;">a1</span>
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>l360_gpuL/<span style="color: #ff0000;">4</span>,<span style="font-weight:bold;">d7</span>
    .loop: <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+,<span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>+
    <span style="color: #00bfff;">dbf</span> <span style="font-weight:bold;">d7</span>,.loop
    <span style="color: #00bfff;">rts</span>
    ******************************************************************************
    draw_360_gpu:
    <span style="color: #00bfff;">lea</span> vars,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> floorF,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> map,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> blocks,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>sintab,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>costab,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span> oax,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">ext</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span> alt,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">ext</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">movem</span> v360_off_ox,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">movem</span> v360_off_oy,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d1</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">54</span></span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>calc_floor_360,semaphore_adr
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,semaphore
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    draw_360_08_gpu:
    <span style="color: #00bfff;">lea</span> vars,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> floorF,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">104</span>*<span style="color: #ff0000;">256</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> map,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> blocks,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>sintab,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>costab,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span> oax,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">ext</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span> alt,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">ext</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">movem</span> v360_off_ox,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">movem</span> v360_off_oy,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d1</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">100</span><span style="color: #ff0000;">-4</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>calc_floor_360,semaphore_adr
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,semaphore
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    draw_linear_10_gpu:
    <span style="color: #00bfff;">sub</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">2000</span></span>,map_xpos <span style="color: #adadad; font-style: italic;">;KLUDGE</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>draw_linear_floor_10,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bsr</span>.<span style="color: #00bfff;">s</span> draw_linear_gpu2
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">2000</span></span>,map_xpos <span style="color: #adadad; font-style: italic;">;KLUDGE</span>
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    draw_linear_city_gpu:
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>draw_linear_floor_city,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> draw_linear_gpu2
    &nbsp;
    draw_linear_gpu:
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>draw_linear_floor,semaphore_adr
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,semaphore
    <span style="color: #00bfff;">jmp</span> waitgpu
    &nbsp;
    draw_linear_gpu2:
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d2</span>
    &nbsp;
    <span style="color: #00bfff;">lea</span> vars,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> floorB,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> fbuff_ptr,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">move</span> alt,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">ext</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    &nbsp;
    <span style="color: #00bfff;">movem</span> map_xpos,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    <span style="color: #00bfff;">movem</span> map_zpos,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,<span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>+
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d1</span>,semaphore_adr
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,semaphore
    &nbsp;
    <span style="color: #00bfff;">bra</span> waitgpu
    &nbsp;
    run_gpu_linear1:
    <span style="color: #00bfff;">bsr</span> waitgpu
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>calc_linear_floor,semaphore_adr
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,semaphore
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    waitgpu:
    <span style="color: #00bfff;">lea</span> semaphore,<span style="font-weight:bold;">a0</span>
    .wait:
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">divs</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">divs</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .wait
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    waitgpu3:
    push.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a0</span>
    push.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>
    &nbsp;
    <span style="color: #00bfff;">lea</span> G_FLAGS,<span style="font-weight:bold;">a0</span>
    .loop:
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">divu</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d0</span>
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">btst</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">6</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .loop
    &nbsp;
    pop.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>
    pop.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    ******************************************************************************
    rotate_player_sprite:
    <span style="color: #00bfff;">tst</span> vehicle
    <span style="color: #00bfff;">bne</span> rotate_player_sprite_copter
    &nbsp;
    rotate_player_sprite_striker:
    <span style="color: #adadad; font-style: italic;">; lea player_ptr,a0</span>
    <span style="color: #adadad; font-style: italic;">; move node_player+mob_def,a5</span>
    <span style="color: #adadad; font-style: italic;">; cmp #25,a5</span>
    <span style="color: #adadad; font-style: italic;">; blt.s .1</span>
    <span style="color: #adadad; font-style: italic;">; move #12,a5</span>
    <span style="color: #adadad; font-style: italic;">;.1:</span>
    <span style="color: #adadad; font-style: italic;">; add a5,a5</span>
    <span style="color: #adadad; font-style: italic;">; add a5,a5</span>
    <span style="color: #adadad; font-style: italic;">; move.l (a0,a5),a0</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> last_frame,<span style="font-weight:bold;">a5</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">a5</span>,<span style="font-weight:bold;">a5</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">a5</span>,<span style="font-weight:bold;">a5</span>
    <span style="color: #00bfff;">lea</span> player_ship,<span style="font-weight:bold;">a0</span>
    &nbsp;
    <span style="color: #00bfff;">tst</span> startup_count
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> .<span style="color: #ff0000;">3</span>
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a0</span>,<span style="font-weight:bold;">a1</span>
    <span style="color: #00bfff;">jmp</span> blit_sprite
    .<span style="color: #ff0000;">3</span>:
    <span style="color: #00bfff;">lea</span> <span style="color: #ff0000;">8</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">a2</span>
    &nbsp;
    <span style="color: #00bfff;">sub</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a3</span>,<span style="font-weight:bold;">a3</span>
    <span style="color: #00bfff;">move</span> node_player+mob_x,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">sub</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">96</span>/<span style="color: #ff0000;">2</span><span style="">)</span>,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> .no_x1_clip
    <span style="color: #00bfff;">neg</span> <span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d4</span>,<span style="font-weight:bold;">a3</span>
    .no_x1_clip:
    <span style="color: #00bfff;">move</span> node_player+mob_x,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">96</span>/<span style="color: #ff0000;">2</span><span style="">)</span>,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">sub</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">256</span>,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">bmi</span>.<span style="color: #00bfff;">s</span> .no_x2_clip
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d4</span>,<span style="font-weight:bold;">a3</span>
    .no_x2_clip:
    &nbsp;
    <span style="color: #00bfff;">bsr</span> waitblit
    &nbsp;
    <span style="color: #adadad; font-style: italic;">;set source...</span>

    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a2</span>,A1_BASE
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>PITCH1|PIXEL16|WID96|XADDINC,A1_FLAGS <span style="color: #adadad; font-style: italic;">;a1 = source</span>
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d4</span>,A1_CLIP
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">6</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d3</span>,pyoff
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">2</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d3</span>
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">72</span><<<span style="color: #ff0000;">16</span><span style="">)</span><span style="color: #ff0000;">+96</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">sub</span> <span style="font-weight:bold;">a3</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,B_COUNT
    &nbsp;
    ******************************************
    * outer loop line increment *
    *****************************
    &nbsp;
    <span style="color: #00bfff;">move</span> xspeed,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">add</span> pbank,<span style="font-weight:bold;">d0</span>
    &nbsp;
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">ble</span>.<span style="color: #00bfff;">s</span> .zb1
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="font-weight:bold;">d0</span>
    .zb1:
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span>-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> .zb2
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="font-weight:bold;">d0</span>
    .zb2:
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">15</span>*<span style="color: #ff0000;">4</span>,<span style="font-weight:bold;">a5</span>
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> .<span style="color: #ff0000;">2</span>
    <span style="color: #00bfff;">neg</span> <span style="font-weight:bold;">d0</span>
    .<span style="color: #ff0000;">2</span>:
    <span style="color: #00bfff;">asr</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">and</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">ffe</span>,<span style="font-weight:bold;">d0</span>
    &nbsp;
    <span style="color: #00bfff;">lea</span> costab,<span style="font-weight:bold;">a2</span>
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="font-weight:bold;">a2</span>,<span style="font-weight:bold;">d0</span><span style="">)</span>,<span style="font-weight:bold;">d5</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d5</span>,sp_cos
    &nbsp;
    <span style="color: #00bfff;">lea</span> sintab,<span style="font-weight:bold;">a2</span>
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="font-weight:bold;">a2</span>,<span style="font-weight:bold;">d0</span><span style="">)</span>,<span style="font-weight:bold;">d5</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d5</span>,sp_sin
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">4</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d4</span> <span style="color: #adadad; font-style: italic;">;get Offx</span>
    <span style="color: #00bfff;">neg</span> <span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">lsl</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">3</span>,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d4</span>,sp_midx
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">6</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d1</span> <span style="color: #adadad; font-style: italic;">;get Offy</span>
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">12</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">lsl</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">3</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d1</span>,sp_mid
    <span style="color: #00bfff;">neg</span> <span style="font-weight:bold;">d1</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> sp_midx,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">move</span> sp_cos,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span> sp_sin,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d7</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">muls</span> <span style="font-weight:bold;">d4</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">muls</span> <span style="font-weight:bold;">d1</span>,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">sub</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d7</span>,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">neg</span> <span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">muls</span> <span style="font-weight:bold;">d1</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">muls</span> <span style="font-weight:bold;">d4</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d6</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d6</span>
    &nbsp;
    <span style="color: #00bfff;">sub</span> sp_midx,<span style="font-weight:bold;">d7</span>
    &nbsp;
    <span style="color: #00bfff;">add</span> sp_mid,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">-12</span>*<span style="color: #ff0000;">8</span><span style="">)</span>,<span style="font-weight:bold;">d6</span>
    &nbsp;
    <span style="color: #00bfff;">ext</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">ext</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">16</span><span style="color: #ff0000;">-3</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">lsl</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">lsl</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d6</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d7</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,A1_FPIXEL
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d7</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d6</span>,A1_PIXEL
    &nbsp;
    <span style="color: #adadad; font-style: italic;">;set inner loop</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> sp_cos,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">ext</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d0</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> sp_sin,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">ext</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d1</span>,<span style="font-weight:bold;">d1</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d1</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,A1_FINC
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d1</span>,A1_INC
    ***
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">-96</span>,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">a3</span>,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d1</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> sp_cos,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d3</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span> sp_sin,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d7</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">muls</span> <span style="font-weight:bold;">d4</span>,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">muls</span> <span style="font-weight:bold;">d1</span>,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">sub</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d3</span>,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d7</span>,<span style="font-weight:bold;">d7</span>
    &nbsp;
    <span style="color: #00bfff;">muls</span> <span style="font-weight:bold;">d1</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">muls</span> <span style="font-weight:bold;">d4</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d6</span>,<span style="font-weight:bold;">d6</span>
    ***
    <span style="color: #00bfff;">neg</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d7</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d6</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d7</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,A1_FSTEP
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d7</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d6</span>,A1_STEP
    &nbsp;
    ******************************************
    * set dest *
    ************
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> scrB,A2_BASE
    &nbsp;
    <span style="color: #00bfff;">move</span> node_player+mob_y,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">sub</span> pyoff,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">sub</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">24</span>,<span style="font-weight:bold;">d1</span>
    &nbsp;
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">add</span> node_player+mob_x,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">sub</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">96</span>/<span style="color: #ff0000;">2</span><span style="">)</span>,<span style="font-weight:bold;">d1</span>
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">1</span><<<span style="color: #ff0000;">16</span><span style="">)</span>+<span style="">(</span><span style="color: #ff0000;">-96</span>&<span style="color: #ff0000;">$</span><span style="color: #ff0000;">ffff</span><span style="">)</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">a3</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>PITCH1|PIXEL16|WID256|XADDPIX,<span style="font-weight:bold;">d3</span> <span style="color: #adadad; font-style: italic;">;a2 = dest (screen)</span>
    &nbsp;
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">15</span>*<span style="color: #ff0000;">4</span>,<span style="font-weight:bold;">a5</span>
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> .<span style="color: #ff0000;">99</span>
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">96</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">neg</span> <span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">bset</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">19</span>,<span style="font-weight:bold;">d3</span>
    .<span style="color: #ff0000;">99</span>: <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d1</span>,A2_PIXEL
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,A2_STEP
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d3</span>,A2_FLAGS
    &nbsp;
    <span style="color: #00bfff;">move</span> striker_fade,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">clr</span> <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,B_IINC
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,B_PATD
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>CLIP_A1|SRCSHADE|GOURZ|SRCEN|LFU_S|UPDA1F|UPDA2|DSTA2|DCOMPEN,B_CMD <span style="color: #adadad; font-style: italic;">;Start the BLTTER</span>
    .<span style="color: #00CC66;">exit</span>:
    <span style="color: #00bfff;">bsr</span> waitblit
    &nbsp;
    <span style="color: #00bfff;">rts</span>
    &nbsp;
    rotate_player_sprite_copter:
    <span style="color: #00bfff;">lea</span> player_ptr,<span style="font-weight:bold;">a0</span>
    <span style="color: #00bfff;">move</span> node_player+mob_def,<span style="font-weight:bold;">a5</span>
    <span style="color: #00bfff;">sub</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">50</span>,<span style="font-weight:bold;">a5</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">a5</span>,<span style="font-weight:bold;">a5</span>
    <span style="color: #00bfff;">add</span> <span style="font-weight:bold;">a5</span>,<span style="font-weight:bold;">a5</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a0</span>,<span style="font-weight:bold;">a5</span><span style="">)</span>,<span style="font-weight:bold;">a0</span>
    &nbsp;
    <span style="color: #00bfff;">lea</span> <span style="color: #ff0000;">8</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">a2</span>
    &nbsp;
    <span style="color: #00bfff;">bsr</span> waitblit
    &nbsp;
    <span style="color: #adadad; font-style: italic;">;set source...</span>

    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">a2</span>,A1_BASE
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>PITCH1|PIXEL16|WID80|XADDINC,A1_FLAGS <span style="color: #adadad; font-style: italic;">;a1 = source</span>
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d4</span>,A1_CLIP
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">6</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d3</span>,pyoff
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">2</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d3</span>
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">72</span><<<span style="color: #ff0000;">16</span><span style="">)</span><span style="color: #ff0000;">+80</span>,B_COUNT
    &nbsp;
    ******************************************
    * outer loop line increment *
    *****************************
    &nbsp;
    <span style="color: #00bfff;">move</span> xspeed,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">add</span> pbank,<span style="font-weight:bold;">d0</span>
    &nbsp;
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">ble</span>.<span style="color: #00bfff;">s</span> .zb1
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="font-weight:bold;">d0</span>
    .zb1:
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span>-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> .zb2
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">#</span>-<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">400</span></span>,<span style="font-weight:bold;">d0</span>
    .zb2:
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">15</span>*<span style="color: #ff0000;">4</span>,<span style="font-weight:bold;">a5</span>
    <span style="color: #00bfff;">blt</span>.<span style="color: #00bfff;">s</span> .<span style="color: #ff0000;">2</span>
    <span style="color: #00bfff;">neg</span> <span style="font-weight:bold;">d0</span>
    .<span style="color: #ff0000;">2</span>:
    <span style="color: #00bfff;">asr</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">and</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">ffe</span>,<span style="font-weight:bold;">d0</span>
    &nbsp;
    <span style="color: #00bfff;">lea</span> costab,<span style="font-weight:bold;">a2</span>
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="font-weight:bold;">a2</span>,<span style="font-weight:bold;">d0</span><span style="">)</span>,<span style="font-weight:bold;">d5</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d5</span>,sp_cos
    &nbsp;
    <span style="color: #00bfff;">lea</span> sintab,<span style="font-weight:bold;">a2</span>
    <span style="color: #00bfff;">move</span> <span style="">(</span><span style="font-weight:bold;">a2</span>,<span style="font-weight:bold;">d0</span><span style="">)</span>,<span style="font-weight:bold;">d5</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d5</span>,sp_sin
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">4</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d4</span> <span style="color: #adadad; font-style: italic;">;get Offx</span>
    <span style="color: #00bfff;">neg</span> <span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">lsl</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">3</span>,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d4</span>,sp_midx
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="color: #ff0000;">6</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d1</span> <span style="color: #adadad; font-style: italic;">;get Offy</span>
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">12</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">lsl</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">3</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d1</span>,sp_mid
    <span style="color: #00bfff;">neg</span> <span style="font-weight:bold;">d1</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> sp_midx,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">move</span> sp_cos,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span> sp_sin,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d7</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">muls</span> <span style="font-weight:bold;">d4</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">muls</span> <span style="font-weight:bold;">d1</span>,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">sub</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d7</span>,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">neg</span> <span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">muls</span> <span style="font-weight:bold;">d1</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">muls</span> <span style="font-weight:bold;">d4</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d6</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d6</span>
    &nbsp;
    <span style="color: #00bfff;">sub</span> sp_midx,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">add</span> sp_mid,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">-12</span>*<span style="color: #ff0000;">8</span><span style="">)</span>,<span style="font-weight:bold;">d6</span>
    &nbsp;
    <span style="color: #00bfff;">ext</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">ext</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">16</span><span style="color: #ff0000;">-3</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">lsl</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">lsl</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d6</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d7</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,A1_FPIXEL
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d7</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d6</span>,A1_PIXEL
    &nbsp;
    <span style="color: #adadad; font-style: italic;">;set inner loop</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> sp_cos,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">ext</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d0</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> sp_sin,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">ext</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d1</span>,<span style="font-weight:bold;">d1</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d1</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,A1_FINC
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d0</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d1</span>,A1_INC
    ***
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">-80</span>,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">1</span>,<span style="font-weight:bold;">d1</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> sp_cos,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d3</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span> sp_sin,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d7</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">muls</span> <span style="font-weight:bold;">d4</span>,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">muls</span> <span style="font-weight:bold;">d1</span>,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">sub</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d3</span>,<span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d7</span>,<span style="font-weight:bold;">d7</span>
    &nbsp;
    <span style="color: #00bfff;">muls</span> <span style="font-weight:bold;">d1</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">muls</span> <span style="font-weight:bold;">d4</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">add</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d6</span>,<span style="font-weight:bold;">d6</span>
    ***
    <span style="color: #00bfff;">neg</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d7</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d6</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d7</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,A1_FSTEP
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d7</span>
    <span style="color: #00bfff;">move</span> <span style="font-weight:bold;">d7</span>,<span style="font-weight:bold;">d6</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d6</span>,A1_STEP
    &nbsp;
    ******************************************
    * set dest *
    ************
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> scrB,A2_BASE
    &nbsp;
    <span style="color: #00bfff;">move</span> node_player+mob_y,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">sub</span> pyoff,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">sub</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">40</span>,<span style="font-weight:bold;">d1</span>
    &nbsp;
    <span style="color: #00bfff;">swap</span> <span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">add</span> node_player+mob_x,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">sub</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">80</span>/<span style="color: #ff0000;">2</span><span style="">)</span>,<span style="font-weight:bold;">d1</span>
    &nbsp;
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">18</span>*<span style="color: #ff0000;">4</span>,<span style="font-weight:bold;">a5</span>
    <span style="color: #00bfff;">blt</span>.<span style="color: #00bfff;">s</span> .<span style="color: #ff0000;">98</span>
    <span style="color: #00bfff;">subq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">8</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> .<span style="color: #ff0000;">97</span>
    .<span style="color: #ff0000;">98</span>: <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">9</span>*<span style="color: #ff0000;">4</span>,<span style="font-weight:bold;">a5</span>
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> .<span style="color: #ff0000;">97</span>
    <span style="color: #00bfff;">addq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">8</span>,<span style="font-weight:bold;">d1</span>
    .<span style="color: #ff0000;">97</span>:
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span><span style="">(</span><span style="color: #ff0000;">1</span><<<span style="color: #ff0000;">16</span><span style="">)</span>+<span style="">(</span><span style="color: #ff0000;">-80</span>&<span style="color: #ff0000;">$</span><span style="color: #ff0000;">ffff</span><span style="">)</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span>PITCH1|PIXEL16|WID256|XADDPIX,<span style="font-weight:bold;">d3</span> <span style="color: #adadad; font-style: italic;">;a2 = dest (screen)</span>
    &nbsp;
    <span style="color: #00bfff;">cmp</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">15</span>*<span style="color: #ff0000;">4</span>,<span style="font-weight:bold;">a5</span>
    <span style="color: #00bfff;">blt</span>.<span style="color: #00bfff;">s</span> .<span style="color: #ff0000;">99</span>
    <span style="color: #00bfff;">add</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">80</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">neg</span> <span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">bset</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">19</span>,<span style="font-weight:bold;">d3</span>
    .<span style="color: #ff0000;">99</span>: <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d1</span>,A2_PIXEL
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d2</span>,A2_STEP
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="font-weight:bold;">d3</span>,A2_FLAGS
    &nbsp;
    <span style="color: #00bfff;">move</span> striker_fade,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> .<span style="color: #ff0000;">96</span>
    &nbsp;
    <span style="color: #00bfff;">move</span> copter_flare,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">lsl</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">4</span>,<span style="font-weight:bold;">d0</span></pre><!--gc2--><!--KiByb3RhdGUgc3ByaXRlIHJvdXRpbmUgKgoqKioqKioqKioqKioqKioqKioqKioqKioqCgoJY25vcAkwLDQKCnJvdGF0ZV9wbGF5ZXIKCW1vdmUJI2NvbXBvcnQxLHIwCQk7Z2V0IGxldmVsCgltb3ZlLncJKHIwKSsscjEKCW1vdmUudwkocjApKyxyMgoJbW92ZS53CShyMCkrLHIzCgoJbW92ZS53CShyMCkrLHI0CglzaGxsMglyNAoJbW92ZQkjZnJhbWVfdGFibGUscjAKCW1vdmUJKHIwLHI0KSxyNAoKKiBSMSA9IHhwb3MKKiBSMiA9IHlwb3MKKiBSMyA9IGFuZ2xlCiogUjQgPSBwdHIgdG8gc291cmNlIGRhdGEKCnJvdF9zcHIKCW1vdmUJI2RpdmlkZXJfdW5pdCxyMTQKCglwdXNoCXIxCTt4cG9zCglwdXNoCXIyCTt5cG9zCgoJc2hsbAlyMwoJbW92ZQkjc2ludGFiLHIwCgltb3ZlLncJKHIwLHIzKSxyMTMJCTtzaW5lIChEeSkKCW1vdmUJI2Nvc3RhYixyMAoJbW92ZS53CShyMCxyMykscjEyCQk7Y29zaW5lIChEeCkKCgltb3ZlLncJKHI0KSsscjgJCTt4c2l6ZQoJbW92ZS53CShyNCkrLHI5CQk7eXNpemUKCgltb3ZlCXIxMixyMTAJCTt4YWRkCgltb3ZlCXIxMyxyMTEJCTt5YWRkCglhZGQJcjEwLHIxMAoJYWRkCXIxMSxyMTEKCgltb3ZlCSNybGluZV9idWYscjAJCTtvZmZzZXQgdGFibGUKCW1vdmUJIzAscjEJCQk7ZHN0WAoJbW92ZQkjMCxyMgkJCTtkc3RZCgoJbW92ZQkjMzIwLHIzCgoJbW92ZQlyOCxyNwoubG9vcAoJc3dhcC53CXIyLHIxNAkJCTtZaW50ICogMzIwCglleHRzLncJcjE0LHIxNAoJZG11bHMJcjMscjE0Cglzd2FwLncJcjEscjUKCWV4dHMudwlyNSxyNQoJbW92ZQltYWNsLHIxNAoJYWRkCXI1LHIxNAkJCTsrIFhpbnQKCW1vdmUudwlyMTQsKHIwKQkJO3N0b3JlIHh5IHBvcwoJYWRkCSMyLHIwCgoJYWRkCXIxMCxyMQoJYWRkCXIxMSxyMgoKCWR0CXI3CgliZgkubG9vcAoKCXBvcAlyMgoJcG9wCXIxCgoJc2hsbDE2CXIxCglzaGxsMTYJcjIKCgltb3ZlCXI0LHIwCglhZGQJIzQscjAKLnlsb29wCgltb3ZlCSNvdmVyd3JpdGUscjMKCW1vdmUJcjEscjUKCXNobHIxNglyNQoJZXh0cy53CXI1LHI1CglhZGQJcjUscjMKCW1vdmUJcjIscjUKCXNobHIxNglyNQoJZXh0cy53CXI1LHI1Cgltb3ZlCSMzMjAscjQKCWRtdWxzCXI0LHI1Cgltb3ZlCW1hY2wscjUKCWFkZAlyNSxyMwoKCW1vdmUJcjgscjUKCgltb3ZlCSNybGluZV9idWYscjcKLm9sb29wCgltb3ZlLncJKHI3KSsscjYJCTtnZXQgc2NyZWVuIG9mZnNldAoJYWRkCXIzLHI2CQkJO2FkZCBzY3JlZW4gYmFzZSBhZGRyCgltb3ZlLmIJKHIwKSsscjQKCWR0CXI1CQkJO1I3ID0gbGluZSBsZW5ndGgKCgltb3ZlLmIJcjQsKHI2KQkJCTtzdG9yZSBwaXhlbAoJYWRkCSMxLHI2CgoJYmYvcwkub2xvb3AKCW1vdmUuYglyNCwocjYpCQkJO3N0b3JlIHBpeGVsCgoJc3ViCXIxMSxyMQoJYWRkCXIxMCxyMgoKCWR0CXI5CgliZgkueWxvb3AKCglydHMKCW5vcAoKCWxpdHMKCgljbm9wCTAsNAoKcmxpbmVfYnVmCWRzLncJMTI4KjIKCjs7cm90YXRlX3BsYXllcgo7Owltb3ZlCSNjb21wb3J0MSxyMAkJO2dldCBsZXZlbAo7Owltb3ZlLncJKHIwKSsscjEKOzsJbW92ZS53CShyMCkrLHIyCjs7CW1vdmUudwkocjApKyxyMwo7Owltb3ZlLncJKHIwKSsscjQKOzsKOzsJbW92ZQkjc3BfcGxfc2hpcDAwLHI0Cjs7Cjs7KiBSMSA9IHhwb3MKOzsqIFIyID0geXBvcwo7OyogUjMgPSBhbmdsZQo7OyogUjQgPSBwdHIgdG8gc291cmNlIGRhdGEKOzsKOzsJY25vcAkwLDQKOzsKOztyb3Rfc3ByCjs7CW1vdmUJI2RpdmlkZXJfdW5pdCxyMTQKOzsKOzsJcHVzaAlyMQk7eHBvcwo7OwlwdXNoCXIyCTt5cG9zCjs7Cjs7CXNobGwJcjMKOzsJbW92ZQkjc2ludGFiLHIwCjs7CW1vdmUudwkocjAscjMpLHIxMwkJO3NpbmUgKER5KQo7Owltb3ZlCSNjb3N0YWIscjAKOzsJbW92ZS53CShyMCxyMykscjEyCQk7Y29zaW5lIChEeCkKOzsKOzsJbW92ZS53CShyNCkrLHI3CQk7Z2V0IGxpbmUgbGVuZ3RoCjs7CWRtdWxzCXIxMixyNwo7Owltb3ZlCXI3LHI5Cjs7CW1vdmUJbWFjbCxyNwo7OwlhZGQJcjcscjcKOzsJc2hscjE2CXI3Cjs7CWV4dHMudwlyNyxyNwo7Owo7Owltb3ZlCXI5LHIxCQk7Z2V0IGxpbmUgeSBoZWlnaHQKOzsJZG11bHMJcjEzLHIxCjs7CW1vdmUJbWFjbCxyMQo7OwlhZGQJcjEscjEKOzsJc2hscjE2CXIxCjs7CWV4dHMudwlyMSxyMQo7Owo7OwlzaGxsMTYJcjkJCQk7Y2FsYyBsaW5lIHNvdXJjZSB4IGFkZAo7OwlkaXZzCXI3LHI5CQkJO3I5ID0geCBhZGRlcixyNyA9IGxpbmUgbGVuZ3RoCjs7Cjs7CW1vdmUJcjEzLHI2CQk7Z2V0IHggYWRkZXIgZm9yIGRyYXcgbG9vcAo7OwlzaGxsMglyNgo7Owo7Owltb3ZlLncJKHI0KSsscjgJCTtnZXQgc3ByaXRlIGhlaWdodAo7OwlkbXVscwlyMTIscjgKOzsJbW92ZQlyOCxyMTAKOzsJbW92ZQltYWNsLHI4Cjs7CWFkZAlyOCxyOAo7OwlzaGxyMTYJcjgKOzsJZXh0cy53CXI4LHI4Cjs7Cjs7CXNobGwxNglyMTAKOzsJZGl2cwlyMCxyMTAJCQk7cjEwID0geSBhZGRlcixyOCA9IGhlaWdodAo7Owo7OwlwdXNoCXI3CTsKOzsJcHVzaAlyOAk7Cjs7CXB1c2gJcjEwCTsKOzsKOzsJbW92ZQkjMzIwLHIxMAk7YWRkcmVzcyB5YWRkCjs7CWNtcHB6CXIxCjs7CWJ0CS4xCjs7CW5lZwlyMTAscjEwCjs7CW5lZwlyMSxyMQo7Oy4xCjs7CW1vdmUJcjEscjAKOzsJY21wZXEJIzAscjAKOzsJYnQJLjIKOzsKOzsJc2hsbDE2CXIxCjs7CWRpdnMJcjgscjEKOzsJc2hsbDE2CXIxCTt5YWRkZXIKOzsuMgo7Owltb3ZlCXIxLHIyCTt5ZnJhY3Rpb24KOzsJc2hhcglyMgk7eWZyYWN0aW9uLzIKOzsKOzsJbW92ZQkjcmxpbmVfYnVmLHIwCQk7b2Zmc2V0IHRhYmxlCjs7CW1vdmUJIzAscjgJCQk7c291cmNlWCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogMzJYIEluaXRpYWwgNjhLIEhlYWRlciBDb2RlLiAqCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoJb3B0CWwuCgpjcmFtdwkJZXF1CSYjMDM2O0MwMDAwMDAwCmljcmFtdwltYWNybwoudmFsCT0JKCgmIzA5MjsxKSZndDsmZ3Q7MTQpCi52YWxhCT0JKCgmIzA5MjsxKSZsdDsmbHQ7MTYpJmFtcDsxMTExMTExMTExMTExMTAwMDAwMDAwMDAwMDAwMDAKLnZhbAk9CWNyYW13JiMzMzsudmFsJiMzMzsudmFsYQoJbW92ZS5sCSMudmFsLChhNikKCWVuZG0KCglpbmNsdWRlCWRlYnVnLmluYwoKbF90eXBlCQllcXUJMQkwPWV1ciwxPWphcCwyPVVTQQoKZXVyCT0JMApqYXAJPQkxCnVzYQk9CTAKCm1hcnNpcGwJCWVxdQkmIzAzNjs4ODAwMDAKCmFjb21tMAkJZXF1CSYjMDM2OzIwCQkqIAkJKiBDb21tdW5jYXRpb24gUmVnLgphY29tbTIJCWVxdQkmIzAzNjsyMgkJKiAJCSogQ29tbXVuY2F0aW9uIFJlZy4KYWNvbW00CQllcXUJJiMwMzY7MjQJCSogCQkqIENvbW11bmNhdGlvbiBSZWcuCmFjb21tNgkJZXF1CSYjMDM2OzI2CQkqIAkJKiBDb21tdW5jYXRpb24gUmVnLgphY29tbTgJCWVxdQkmIzAzNjsyOAkJKiAJCSogQ29tbXVuY2F0aW9uIFJlZy4KYWNvbW05CQllcXUJJiMwMzY7MjkJCSogCQkqIENvbW11bmNhdGlvbiBSZWcuCmFjb21tMTAJCWVxdQkmIzAzNjsyYQkJKiAJCSogQ29tbXVuY2F0aW9uIFJlZy4KYWNvbW0xMgkJZXF1CSYjMDM2OzJjCQkqIAkJKiBDb21tdW5jYXRpb24gUmVnLgphY29tbTE0CQllcXUJJiMwMzY7MmUJCSogCQkqIENvbW11bmNhdGlvbiBSZWcuCgp2ZWN0b3JzCQlncm91cApoZWFkZXIJCWdyb3VwCmNvZGU2OGsJCWdyb3VwCQpyYW1jb2RlNjhrCWdyb3VwCnJhbWNvZGVzaDIJZ3JvdXAKCgl4cmVmCW1hc3Rlcl9zdGFydCxzbGF2ZV9zdGFydCxtYXN0ZXJfdmJyLHNsYXZlX3ZicgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogNjgwMDAgdmVjdG9yICgmIzAzNjswMDAwMDApLiAqCioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCXJlZ3MJcGM9JiMwMzY7M2YwCglyZWdzCXNyPSYjMDM2OzI3MDAKCmVudHJ5X3BvaW50CWVxdQkmIzAzNjswMDAwMDNmMApzdGFja190b3AJZXF1CSYjMDM2OzAwMDAwMDAwCgp2ZHBfZAkJZXF1CSYjMDM2O2MwMDAwMAp2ZHBfYwkJZXF1CSYjMDM2O2MwMDAwNAoKY3BfMAllcXUJJiMwMzY7YTE1MTIwCmNwXzIJZXF1CSYjMDM2O2ExNTEyMgpjcF80CWVxdQkmIzAzNjthMTUxMjQKY3BfNgllcXUJJiMwMzY7YTE1MTI2CmNwXzgJZXF1CSYjMDM2O2ExNTEyOApjcF9hCWVxdQkmIzAzNjthMTUxMmEKY3BfYwllcXUJJiMwMzY7YTE1MTJjCmNwX2UJZXF1CSYjMDM2O2ExNTEyZQoKcG9sbGhvc3QJZXF1CSYjMDM2O2ZjMDAwMAkJCTtkb3dubG9hZGVyIFJPTS4KZXhjZXB0aW9uCWVxdQkmIzAzNjtmYzAwMDQJCQk7ZW50cnkgcG9pbnRzLgoKCQlpZglkZWJ1Zz0xCgpwb2xob3N0CQltYWNybwkJCQk7CgkJZGMudwkmIzAzNjthMDAwCQkJO3BvbGwgaG9zdCBtYWNoaW5lLgoJCWVuZG0JCQkJOwoKYnJlYWsJCW1hY3JvCQkJCTsKCQlkYy53CSYjMDM2O2EwMDIJCQk7c29mdHdhcmUgYnJlYWtwb2ludC4KCQllbmRtCQkJCTsKCnNvZnRlbnRyeQltYWNybwkJCQk7CgkJZGMudwkmIzAzNjthMDAzCQkJO2xpbmsgdG8gaG9zdCBtYWNoaW5lLgoJCWVuZG0JCQkJOwoKCQllbHNlCgpwb2xob3N0CQltYWNybwkJCQk7CgkJZW5kbQkJCQk7CgpicmVhawkJbWFjcm8JCQkJOwoJCWVuZG0JCQkJOwoKc29mdGVudHJ5CW1hY3JvCQkJCTsKCQllbmRtCQkJCTsKCgkJZW5kYwoKZXhjX2J1c2Vycm9yCWVxdQkmIzAzNjswMjAwMDAwMCtleGNlcHRpb24KZXhjX2FkZHJlcnIJZXF1CSYjMDM2OzAzMDAwMDAwK2V4Y2VwdGlvbgpleGNfaWxsaW5zdAllcXUJJiMwMzY7MDQwMDAwMDArZXhjZXB0aW9uCmV4Y19kaXYwCWVxdQkmIzAzNjswNTAwMDAwMCtleGNlcHRpb24KZXhjX2NoawkJZXF1CSYjMDM2OzA2MDAwMDAwK2V4Y2VwdGlvbgpleGNfdHJhcHYJZXF1CSYjMDM2OzA3MDAwMDAwK2V4Y2VwdGlvbgpleGNfcHJpdgllcXUJJiMwMzY7MDgwMDAwMDArZXhjZXB0aW9uCmV4Y190cmFjZQllcXUJJiMwMzY7MDkwMDAwMDArZXhjZXB0aW9uCmV4Y19saW5lYQllcXUJcG9sbGhvc3QKCglzZWN0aW9uCXZlY3MsdmVjdG9ycwoKCWRjLmwJc3RhY2tfdG9wCQkJO0luaXRpYWwgU1NQIGFuZCBQQy4KCWRjLmwJZW50cnlfcG9pbnQKCglkYy5sCSYjMDM2OzAyMjA4MDBjCTtFWF9CdXNFcnJvcgoJZGMubAkmIzAzNjswMzIwODAwYwk7RVhfQWRkcmVzc0Vycm9yCglkYy5sCSYjMDM2OzA0MjA4MDBjCTtFWF9JbGxlZ2FsSW5zdHJ1Y3Rpb24KCWRjLmwJJiMwMzY7MDUyMDgwMGMJO0VYX0RpdmlkZUJ5MAoJZGMubAkmIzAzNjswNjIwODAwYwk7RVhfQ0hLCglkYy5sCSYjMDM2OzA3MjA4MDBjCTtFWF9UcmFwVgoJZGMubAkmIzAzNjswODIwODAwYwk7RVhfUHJpdmlsZWRnZQoJZGMubAkmIzAzNjswOTIwODAwYwk7RVhfVHJhY2UKCWRjLmwJRVhDX0xpbmVBCglkYy5sCUVYQ19MaW5lRgoqIFJlc2VydmVkIGJ5IG1vdG9yb2xhCglkY2IubAkxMiwwCQk7IEVYX01vdG9yb2xhCiogSGFyZHdhcmUgaW50ZXJydXB0cwoJZGMubAlFWENfU3B1cmlvdXMKCWRjLmwJRVhDX0xldmVsMQoJZGMubAlFWENfTGV2ZWwyCglkYy5sCUVYQ19MZXZlbDMKCWRjLmwJRVhDX0xldmVsNAoJZGMubAlFWENfTGV2ZWw1CglkYy5sCUVYQ19MZXZlbDYKCWRjLmwJRVhDX0xldmVsNwoJZGMubAkmIzAzNjsyMDIwODAwOAk7RVhfVHJhcDAKCWRjLmwJRVhDX1RyYXAxCglkYy5sCUVYQ19UcmFwMgoJZGMubAlFWENfVHJhcDMKCWRjLmwJRVhDX1RyYXA0CglkYy5sCUVYQ19UcmFwNQoJZGMubAlFWENfVHJhcDYKCWRjLmwJRVhDX1RyYXA3CglkYy5sCUVYQ19UcmFwOAoJZGMubAlFWENfVHJhcDkKCWRjLmwJRVhDX1RyYXBBCglkYy5sCUVYQ19UcmFwQgoJZGMubAlFWENfVHJhcEMKCWRjLmwJRVhDX1RyYXBECglkYy5sCUVYQ19UcmFwRQoJZGMubAlFWENfVHJhcEYKKiBSZXNlcnZlZCBieSBtb3Rvcm9sYQoKCWRjYi5sCTE2LF9lcnJvcjAKCioqKioqKioqKioqKioqKioqKioqKioqKioKKiBHZW5lc2lzIElEICgmIzAzNjswMDAxMDApLiAqCioqKioqKioqKioqKioqKioqKioqKioqKioKCglzZWN0aW9uCWhkcixoZWFkZXIKCglkYy5iCSYjMzk7U0VHQSAzMlggICAgICAgICYjMzk7CiAgICAgICAgZGMuYiAJJiMzOTvCqVQxMTUgMTk5NS5BUFImIzM5OwoJZGMuYgkmIzM5O1NPVUxTVEFSIFggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYjMzk7CglkYy5iCSYjMzk7U09VTFNUQVIgWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiMzOTsKCWRjLmIJJiMzOTtULTExNTA1Qi01MCAgICYjMzk7CQk7c3R1ZmYKCWRjLncJMAkJCTtjaGVja3N1bS4KCWRjLmIJJiMzOTtKICAgICAgICAgICAgICAgJiMzOTsJO2pveXN0aWNrLgoJZGMubAkmIzAzNjswMDAwMDAJCQk7cm9tIHN0YXJ0LgoJZGMubAkmIzAzNjsxZmZmZmYJCQk7cm9tIGVuZC4KCWRjLmwJJiMwMzY7ZmYwMDAwCQkJO3JhbSBzdGFydC4KCWRjLmwJJiMwMzY7ZmZmZmZmCQkJO3JhbSBlbmQuCglkYy5iCSYjMzk7TVImIzM5OywwLDAKCWRjLmwJMCwwCglkYy5iCSYjMzk7ICAgICYjMzk7KioqKioqKioqKioqKioqKioqKioKKiBHYW1lIENvZGUgU3RhcnQuICoKKioqKioqKioqKioqKioqKioqKioKCglpbmNsdWRlCW1lcXVhdGVzLjY4awoJaW5jbHVkZQlvYmpfZXF1LnMKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoJaW5jbHVkZQljb21zX2VxdS5zCgpjb20JbWFjcm8KCW1vdmUJI2NvbV8mIzA5MjsxLGQwCglqc3IJc2VuZF9jb20KCWVuZG0KCmNvbTQJbWFjcm8KCW1vdmUJI2NvbV8mIzA5MjsxLGQwCglqc3IJc2VuZF9jb200CgllbmRtCgpqY29tCW1hY3JvCgltb3ZlCSNjb21fJiMwOTI7MSxkMAoJam1wCXNlbmRfY29tCgllbmRtCgpqY29tNAltYWNybwoJbW92ZQkjY29tXyYjMDkyOzEsZDAKCWptcAlzZW5kX2NvbTQKCWVuZG0KCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKbm9fdHJhcHMJZXF1CTEKYnJpZWZpbmdzCWVxdQkwCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCmJ1dHRvbl9hCWVxdQkwCmJ1dHRvbl9iCWVxdQkxCmJ1dHRvbl9jCWVxdQkyCmJ1dHRvbl9wYXVzZQllcXUJMwpidXR0b25fb3B0aW9uCWVxdQk0CmJ1dHRvbl95CWVxdQk1CmJ1dHRvbl96CWVxdQk2CgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCnJhbV9kdXJhdGlvbgllcXUJMzEqMjAKYm9udXNfaGl0cwllcXUJMTAKc2hfZGVsCQllcXUJNAptdF9jb3VudGRvd24wOAllcXUJNAoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCm11c2ljCW1hY3JvCgltb3ZlCSNjZG1fJiMwOTI7MSxkMAoJanNyCXN0YXJ0X211c2ljCgllbmRtCgpjZG1fdGl0bGUJZXF1CSYjMDM2OzAwCmNkbV9ib3NzCWVxdQkmIzAzNjsyZApjZG1fbDM2MAllcXUJJiMwMzY7NDEKY2RtX2RlYXRoCWVxdQkmIzAzNjs1OQpjZG1fZmFtZQllcXUJJiMwMzY7NWEKY2RtX2NyZWRpdHMJZXF1CSYjMDM2OzZiCmNkbV9sZXZlbDEyMwllcXUJJiMwMzY7N2IKY2RtX2t1dHJhCWVxdQkmIzAzNjs5MwpjZG1fZ2lndW4JZXF1CSYjMDM2O2E5CmNkbV9idWxrYW4JZXF1CSYjMDM2O2MxCmNkbV90d2luZ2hhCWVxdQkmIzAzNjtkNgpjZG1fZ3VoYQllcXUJJiMwMzY7ZWEKY2RtX21ldGFmdXMJZXF1CSYjMDM2OzEwMQpjZG1fa3Jhc3QJZXF1CSYjMDM2OzExYQoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpudGVtcHNwCQllcXUJMTYKbndlYXBzCQllcXUJMTYKbmVud2VhcAkJZXF1CTE2Cm5lbmVteQkJZXF1CTIwCm5meHNwcgkJZXF1CTMyCndiYXNlCQllcXUJMTI4CgptYXhzaGllbGQJZXF1CTMwCm1heGFjYwkJZXF1CTIyNAoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpocF9tdWx0CQllcXUJNApocF9zaGlmdAllcXUJMgoKY3B1X2hpdHMJZXF1CTEyOCpocF9tdWx0Cmd1aGFfaGl0cwllcXUJNTEyKmhwX211bHQKYnVsa2FuX2hpdHMJZXF1CTEyOCpocF9tdWx0CTsgTWlkLUJvc3MKYnVsa2FuMl9oaXRzCWVxdQkoMjU2LzIpKmhwX211bHQJOyBCT1NTCm1ldGFmdXNfaGl0cwllcXUJMjU2KmhwX211bHQKZ2lndW5faGl0cwllcXUJMjU2KmhwX211bHQKCmhwX2EwCW1hY3JvCgltb3ZlCSMoJiMwOTI7MSkqaHBfbXVsdCxlbl9ocChhMCkKCWVuZG0KCmhwX2E1CW1hY3JvCgltb3ZlCSMoJiMwOTI7MSkqaHBfbXVsdCxlbl9ocChhNSkKCWVuZG0KCmhwX2E2CW1hY3JvCgltb3ZlCSMoJiMwOTI7MSkqaHBfbXVsdCxlbl9ocChhNikKCWVuZG0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCnNjbGlwCWVxdQkyMDAKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpwaWNrdXAJbWFjcm8KCWRjCShwdV8mIzA5MjsxJmx0OyZsdDsxMikrJiMwOTI7Mgk7dHR0dDBtbW1zc3Nzc3NzcwoJZW5kbQpwdV9zaGllbGQJZXF1CTAKcHVfZW5lcmd5CWVxdQkxCnB1X3Nob3QJCWVxdQkyCnB1X2h1bnRlcgllcXUJMwpwdV9yaW5nCQllcXUJNApwdV9sYXNlcgllcXUJNQpwdV9taXNzaWxlCWVxdQk2CnB1X2JvbWIJCWVxdQk3CnB1X3JvY2tldAllcXUJOApwdV9jaGFyZ2UJZXF1CTkKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCm9kYgltYWNybwoJZGMJJiMwOTI7MQk7Y29sLWRpc3QKCWRjCSYjMDkyOzIsJiMwOTI7Mwk7eDEseDIKCWRjCSYjMDkyOzQsJiMwOTI7NQk7eTEseTIKCWRjLmwJJiMwOTI7Ngk7aGl0IGhhbmRsZXIKCWRjLmwJJiMwOTI7Nwk7bG9naWMgaGFuZGxlcgoJZGMubAkmIzA5Mjs4CTszNjAgbG9naWMgaGFuZGxlcgoJZGMubAkmIzA5Mjs5CTtvdXRwdXQgaGFuZGxlcgoJZGMubAkmIzA5MjsxMAk7aW5pdGlhbGlzZXIKCWRjLmIJJiMwOTI7MTEJO3RhcmdldGFibGUKCWRjLmIJJiMwOTI7MTIJO3JhZGFyYWJsZQoJZW5kbQoKcHVzaAltYWNyb3MKCW1vdmUuCSYjMDkyOzEsLShzcCkKcG9wCW1hY3JvcwoJbW92ZS4JKHNwKSssJiMwOTI7MQoKcHVzaG0JbWFjcm9zCgltb3ZlbS4gJiMwOTI7MSwtKHNwKQpwb3BtCW1hY3JvcwoJbW92ZW0uIChzcCkrLCYjMDkyOzEKCnB1c2hhbAltYWNyb3MKCW1vdmVtCWQzLWQ1LC0oc3ApCnBvcGFsCW1hY3JvcwoJbW92ZW0JKHNwKSssZDMtZDUKCnB1c2hhCW1hY3JvcwoJbW92ZW0ubAlkMC1kNy9hMC1hNiwtKHNwKQpwb3BhCW1hY3JvcwoJbW92ZW0ubAkoc3ApKyxkMC1kNy9hMC1hNgoKZW5lbXkJbWFjcm8KCWRjCSYjMDkyOzEsb3RfJiMwOTI7MgoJZGMJJiMwOTI7MywmIzA5Mjs0LCYjMDkyOzUKCWVuZG0KCnNldF9sZAltYWNybwoJSUYJbF90eXBlPTAKCW1vdmUuYgkjJiMwOTI7MS0xLGxkZWwKCUVMU0UKCW1vdmUuYgkjJiMwOTI7MS0xLGxkZWwKCUVORElGCioJYnNyCW1vZGlmeV9maXJlX3JhdGUKCWVuZG0KCnNldF9sZDIgbWFjcm8KCUlGCWxfdHlwZT0wCgltb3ZlLmIJIyYjMDkyOzEtMSxsZGVsMgoJRUxTRQoJbW92ZS5iCSMmIzA5MjsxLTEsbGRlbDIKCUVORElGCgllbmRtCgptcF9zZngJbWFjcm8KCXB1c2htLmwJZDEtZDMKCW1vdmVxCSNzYW1fJiMwOTI7MSxkMQoJbW92ZQkjKCYjMDkyOzIpLzIsZDIKCW1vdmUJIyYjMDkyOzMsZDMKCWNvbTQJcGxheV9zZngKCXBvcG0ubAlkMS1kMwoJcnRzCgllbmRtCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCnNjcmF0Y2hfcmFtCWVxdQkmIzAzNjtmZmZmMDAwMAk7Z3Vlc3Mgd290PwoKdl9zcHJhdHQgCWVxdQkmIzAzNjtmYzAwCQk7U0FUIGJhc2UuCnZfaHNjcmwJIAllcXUJJiMwMzY7ZjAwMAkJO0gtc2Nyb2xsIHRhYmxlIGJhc2UuCgoJCWluY2x1ZGUJZXF1YXRlcy42OGsJO2VxdWF0ZXMgKyBtYWNyb3MuCgpnYW1lX2NvZGUKCVNPRlRFTlRSWQoKCWxlYQkmIzAzNjs4ODAwMDArZ3JvdXBvcmcocmFtY29kZTY4ayksYTAKCWxlYQkmIzAzNjtmZmZmODAwMCxhMQoJbW92ZS5sCSNncm91cGVuZChyYW1jb2RlNjhrKS1ncm91cG9yZyhyYW1jb2RlNjhrKS0xLGQ3Ci5jY2wJbW92ZS5iCShhMCkrLChhMSkrCglkYmYJZDcsLmNjbAoKCW1vdmUubAlzcCxzcF9zYXZlCgoJanNyCXNldHVwX3BsYXllcgoKKioqKioqKioqKioqKioqKioqCiogR2FtZSBSQU0gQ29kZS4gKgoqKioqKioqKioqKioqKioqKioKCmdhbWVfc3RhcnQKCWRpCQkJO2Rpc2FibGUgaW50ZXJydXB0cy4KCglqc3IJaW5pdF92ZHAJO3dyaXRlIGluaXRpYWwgdmFsdWVzIHRvIFZEUC4KCWpzcglpbml0X2pveQk7cmVhZCBqb3lzdGljayB0eXBlcy4KCgllaQoKbWFpbl9zdGFydAoJanNyCXNjcmVlbl9vbgoKCWNscglsZXZlbAo7CU1PVkUJIzIsTEVWRUwKOwlNT1ZFCSMzLExFVkVMCgoJYnNyCXJlc3RhcnRfbGlmZV9sb3N0Cgltb3ZlCSMzLGxpdmVzCgoJc2YJZGlmZl9sZXZlbAoJY2xyLmwJc2NvcmUKCglic3IJbGV2ZWxfc2V0dXAKCgltb3ZlcQkjMCxkMAoJanNyCWFkZF90b19zY29yZQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCglsZWEJbm9kZV9oZWFkLGEwCglsZWEJbm9kZV90YWlsLGExCgltb3ZlLmwJYTEsbm9kZV9uZXh0KGEwKQoJbW92ZS5sCWEwLG5vZGVfcHJldihhMSkKCWNscglnYW1lX2RlbAoJY2xyCWZhZGVfZGVsYXkKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgo7CWpzcglzY3JvZmYKCgltb3ZlLmIJIzIsdmJsX2NvdW50CgljbHIJc3RhcnR1cF9jb3VudAoJc3QJaW5fZ2FtZQptbG9vcAoKLjEJanNyCXdhaXRfdmJsCgl0c3QuYgl2YmxfY291bnQKCWJuZS5zCS4xCglJRglsX3R5cGU9MQoJbW92ZS5iCSMzLHZibF9jb3VudAoJRUxTRQoJbW92ZS5iCSMyLHZibF9jb3VudAoJRU5ESUYKCglsZWEJdmRwX2MsYTYKCWl2cmFtdwl2X2hzY3JsCgltb3ZlCWJhY2tfeCwtNChhNikKCW1vdmUJYmFja194LC00KGE2KQoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCglqc3IJbGV2ZWxfZmxpcHBlcgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCglqc3IJbGV2ZWxfb3V0cHV0CgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCWFkZHEJIzEsZ2FtZV9kZWwKCWFuZAkjJiMwMzY7N2ZmZixnYW1lX2RlbAoJYm5lLnMJLm5nX3JvbGwKCW9yCSMmIzAzNjsxMDAwLGdhbWVfZGVsCi5uZ19yb2xsOgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCW1vdmUJc2NyX3NwZCxkMAoJSUYJbF90eXBlPTAKCW11bHMJIyYjMDM2OzMzMzQsZDAKCXN3YXAJZDAKCWFkZAlzY3Jfc3BkLGQwCglFTkRJRgoJbW92ZQlkMCxzY3Jfc3BkMgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCXRzdAlzaF9oaXRfbnVtCgliZXEucwkuc2hfaGl0X29rCgl0c3QJZHlpbmdfY250CglibmUucwkuc2hfaGl0X29rCglzdWJxCSMxLHNoX2hpdF9kZWwKCWJwbC5zCS5zaF9oaXRfb2sKCXN1YnEJIzEsc2hfaGl0X251bQoJanNyCWRvX2xvd19zaGllbGRfc2Z4Cgltb3ZlCSNzaF9kZWwsc2hfaGl0X2RlbAouc2hfaGl0X29rOgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCWpzcglwaWNrdXBfc3lzdGVtCgljbXAJIzA0LGxldmVsCglibmUucwkubm90X2dpZ3VuCglqc3IJZ2lndW5fY2hlY2tzCi5ub3RfZ2lndW46Cglqc3IJZW5kX2ZhZGVyCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoJc2YJaGl0X3NmeF9hbHJlYWR5CgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCWNscgl0bXBfc2xvdAoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiBEbyBhbGwgcHJvY2Vzc2luZyBoZXJlJiMzMzsgKgoqKioqKioqKioqKioqKioqKioqKioqKioqKioKCXN1YnEJIzEsZ2NudDMKCWJwbC5zCS5nY250MwoJbW92ZQkjMy0xLGdjbnQzCi5nY250MzoKCXN1YnEJIzEsZ2NudDUKCWJwbC5zCS5nY250NQoJbW92ZQkjNS0xLGdjbnQ1Ci5nY250NToKCXN1YnEJIzEsZ2NudDYKCWJwbC5zCS5nY250NgoJbW92ZQkjNi0xLGdjbnQ2Ci5nY250NjoKCXN1YnEJIzEsZ2NudDkKCWJwbC5zCS5nY250OQoJbW92ZQkjOS0xLGdjbnQ5Ci5nY250OToKCXN1YnEJIzEsZ2NudDEwCglicGwucwkuZ2NudDEwCgltb3ZlCSM5LTEsZ2NudDEwCi5nY250MTA6CglzdWJxCSMxLGdjbnQxMgoJYnBsLnMJLmdjbnQxMgoJbW92ZQkjMTItMSxnY250MTIKLmdjbnQxMjoKCXN1YnEJIzEsZ2NudDE5CglicGwucwkuZ2NudDE5Cgltb3ZlCSMxOS0xLGdjbnQxOQouZ2NudDE5OgoJdHN0CWR5aW5nX2NudAoJYmVxLnMJLm5vdF9keWluZwoJanNyCWRvX3BsYXllcl9keWluZwoJYnJhLnMJLm5vX2N0bAoubm90X2R5aW5nOgoJdHN0CXN0YXJ0dXBfY291bnQKCWJuZS5zCS5ub19jdGwKCWpzcglkb192X2NvbnRyb2wKLm5vX2N0bDoKCXRzdC5iCWlzXzM2MAoJYmVxLnMJLm5vXzM2MAoJanNyCXNldF8zNjBfbWFwX3Bvcwoubm9fMzYwOgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCWJzcglsZXZlbF9jb250cm9sCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoJanNyCWNyZWF0ZV9lbmVtaWVzCglqc3IJZ2V0X2FsbF9lbmVtaWVzCglqc3IJZ2V0X2FsbF93ZWFwb25zCglqc3IJZG9fbmV4dF93ZWFwb24KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogQ2hlY2sgZm9yIDJuZCBwbGF5ZXIgKgoqKioqKioqKioqKioqKioqKioqKioqKioKCXRzdC5iCXBseTJtb2RlCgliZXEucwkuMXBsYXllcl9vbmx5Cglqc3IJZG9fbmV4dF93ZWFwb25fMgoJanNyCXBsYXllcl8yX2NvbnRyb2wKCWpzcglwbGF5ZXJfMl93ZWFwb25zCglicmEucwkuMnBsYXllcl9kb25lCi4xcGxheWVyX29ubHk6Cglqc3IJcG93ZXJfdHJhbnNmZXJfMXAKCWNtcAkjMix2ZWhpY2xlCglibmUucwkubm90X3dhbGtlcjEKCWpzcglkb18xcF93YWxrZXJfdGFyZ2V0dGluZwoKCXRzdAlwb3B0YXJnCgliZXEucwkubm9fcG9wdGFyZwoJc3VicQkjMSxwb3B0YXJnCgltb3ZlLmwJbXRhcmdldCxkMAoJYmVxLnMJLm5vX3BvcHRhcmcKCW1vdmUubAlkMCxhNgoJbW92ZQltb2JfeChhNiksZDAKCW1vdmUJbW9iX3koYTYpLGQxCgltb3ZlcQkjMCxkMgoJbW92ZXEJIzAsZDYKCWxlYQlub2RlX21zaWdodCxhNgoJbW92ZW0JZDAvZDEvZDIvZDYvZDcsbm9kZV9kYXRhKGE2KQoJbW92ZQkjb3RfbXNpZ2h0LG1vYl90eXBlKGE2KQoJanNyCWluc2VydF9zcHJpdGUKLm5vX3BvcHRhcmc6CgoJYnJhLnMJLjJwbGF5ZXJfZG9uZQoubm90X3dhbGtlcjE6CglsZWEJd2VhcG9uX3RhYixhMAoJYWRkCXdlYXBvbixhMAoJY21wLmIJI3B3X2JvbWJsZXQsKGEwKQoJYm5lLnMJLjJwbGF5ZXJfZG9uZQoJanNyCWhhbmRsZV9taXNzaWxlX3NpZ2h0Ci4ycGxheWVyX2RvbmU6CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoJanNyCXBsb3RfcmFtcwoJanNyCXBsb3RfcGxheWVyCgl0c3QJY2hhcmdlX2NudAoJYmVxLnMJLm5vdF9jaGFyZ2luZwoJanNyCWluc2VydF9jaGFyZ2Vfc3ByCi5ub3RfY2hhcmdpbmc6CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCWJzcglkcmF3X3Nwcml0ZXMKCWpzcglkcmF3X3BhbmVsCgoJY29tCWZsaXBfc2NyZWVuCglqc3IJd2FpdF9jb20KCglidHN0CSNidXR0b25fcGF1c2Usam95MQoJYm5lLnMJLm5vX3BhdXNlCi5wYXVzZWQKCWpzcgl3YWl0X3ZibAoJYnRzdAkjYnV0dG9uX3BhdXNlLGpveTEKCWJlcS5zCS5wYXVzZWQKCi5wYXVzZWQxCglqc3IJd2FpdF92YmwKCWJ0c3QJI2J1dHRvbl9wYXVzZSxqb3kxCglibmUucwkucGF1c2VkMQoucGF1c2VkMgoJanNyCXdhaXRfdmJsCglidHN0CSNidXR0b25fcGF1c2Usam95MQoJYmVxLnMJLnBhdXNlZDIKLm5vX3BhdXNlCgoJTU9WRS5CCSMxNixzaGllbGQKCQoJYnJhCW1sb29wCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiBDUElDIGJhY2tncm91bmRzICoKKioqKioqKioqKioqKioqKioqKioKCmJhY2tfMDBhCWluY2JpbgliYWNrcyYjMDkyO3NwYWNlMS5jcGkKCQlldmVuCmJhY2tfMDBiCWluY2JpbgliYWNrcyYjMDkyO3NwYWNlMi5jcGkKCQlldmVuCgpiYWNrXzAzCQlpbmNiaW4JYmFja3MmIzA5Mjt3YXJwc2hpcC5jcGkKCQlldmVuCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAzNjAgb2JqZWN0IGRhdGEgKgoqKioqKioqKioqKioqKioqKioqCgp6b25lXzAzX2RhdAlpbmNiaW4Jc3RhZ2VzJiMwOTI7em9uZTAzLmRhdAoJCWV2ZW4Kem9uZV8wNV9kYXQJaW5jYmluCXN0YWdlcyYjMDkyO3pvbmUwNS5kYXQKCQlldmVuCnpvbmVfMDhfZGF0CWluY2JpbglzdGFnZXMmIzA5Mjt6b25lMDguZGF0CgkJZXZlbgp6b25lXzExX2RhdAlpbmNiaW4Jc3RhZ2VzJiMwOTI7em9uZTExLmRhdAoJCWV2ZW4Kem9uZV8xN19kYXQJaW5jYmluCXN0YWdlcyYjMDkyO3pvbmUxNy5kYXQKCQlldmVuCnpvbmVfMjRfZGF0CWluY2JpbglzdGFnZXMmIzA5Mjt6b25lMjQuZGF0CgkJZXZlbgp6b25lXzI2X2RhdAlpbmNiaW4Jc3RhZ2VzJiMwOTI7em9uZTI2LmRhdAoJCWV2ZW4KCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqIERlY29tcHJlc3MgYmFja2dyb3VuZCAoMiBwbGF5ZmllbGRzKSAqCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCiogQTAgPSBwbGF5ZmllbGQgIzEKKiBBMSA9IHBsYXlmaWVsZCAjMgoKZGVjb21wXzY4a19iYWNrZ3IKCXB1c2gubAlhMQoKCWxlYQlzY3JhdGNoX3JhbSxhMQoJanNyCXVucGFjawoKCWxlYQlzY3JhdGNoX3JhbSxhMAoJbW92ZQkjJiMwMzY7ZTAwMCxkMAoJbW92ZQkjNjQqMixkMQoJanNyCWRlY29tcF9jcGljCgoJcG9wLmwJYTAKCW1vdmUubAlhMCxkMAkJO2lmIC1JJiMzOTt2ZSwgb25seSBkZWNvbXAgMXN0IHNjcmVlbgoJYm1pLnMJLnNraXAJCTtza2lwIHVucGFjawoJCglsZWEJc2NyYXRjaF9yYW0sYTEKCWpzcgl1bnBhY2sKLnNraXAKCWxlYQlzY3JhdGNoX3JhbSxhMAoJbW92ZQkjJiMwMzY7YzAwMCxkMAoJbW92ZQkjNjQqMixkMQoqKioqKioqKioqKioqKioKKiBkZWNvbXAgQ1BJQyAqCioqKioqKioqKioqKioqKgoqIEEwID0gcHRyIHRvIENQSUMgZmlsZQoqIEQwID0gZGVzdC4gYWRyCiogRDEgPSBkZXN0IENNQVAgd2lkdGgqMgoKZGVjb21wX2NwaWMKCWxlYQl2ZHBfYyxhNgoKCXZyZWcJMTUsMgoJYnNyCWRjX3BhbGV0dGUKCW1vdmVtCWQwL2QxLC0oc3ApCglic3IJZGNfY2hhcnMKCW1vdmVtCShzcCkrLGQwL2QxCmRjX2NtYXAKCW1vdmUJZDAsZDQKCW1vdmUJZDEsZGVzdF94c2l6ZQoKCW1vdmVxCSMwLGQyCgltb3ZlCWNwaWNfbWFwKGEwKSxkMgoJYmVxLnMJLm1hcF9kb25lCglsZWEJKGEwLGQyLmwpLGEyCgltb3ZlcQkjMCxkNQoJbW92ZS5iCWNwaWNfeChhMCksZDUKCW1vdmVxCSMwLGQ2Cgltb3ZlLmIJY3BpY195KGEwKSxkNgoJc3VicQkjMSxkNgoueWxvb3AKCW1vdmUJZDQsZDIKCW1vdmUubAlhMixkMQoJbW92ZQlkNSxkMAoJYWRkCWQ1LGEyCglhZGQJZDUsYTIKCWJzcglkbWFfdHJhbnNfd3IKCWFkZAlkZXN0X3hzaXplLGQ0CglkYmYJZDYsLnlsb29wCi5tYXBfZG9uZQoJcnRzCmRjX2NoYXJzCgltb3ZlCWNwaWNfZGNoYXIoYTApLGQyCgltb3ZlCWNwaWNfY2hhcihhMCksZDMKCWxlYQkoYTAsZDMpLGExCgltb3ZlLmwJYTEsZDEKCW1vdmUJY3BpY19uY2hhcihhMCksZDAKCWJyYQlkbWFfdHJhbnNfd3IKCmRjX3BhbGV0dGUKCW1vdmUubAlhNCwtKHNwKQoJbGVhCXBhbGV0dGVfc3RvcmUsYTQKCgltb3ZlCWNwaWNfb3BhbChhMCksZDMKCWJlcS5zCS5ub19wYWxldHRlCglsZWEJMihhMCxkMyksYTEKCW1vdmUJY3BpY19jcGFsKGEwKSxkMgoJYWRkCWQyLGE0CglvcgkjJiMwMzY7YzAwMCxkMgkJCTtDUkFNIHdyaXRlCgltb3ZlCWQyLChhNikKCW1vdmUJIzAsKGE2KQoJbGVhCS00KGE2KSxhNQoJbW92ZS5sCShhMSksKGE0KSsKCW1vdmUubAkoYTEpKywoYTUpCgltb3ZlLmwJKGExKSwoYTQpKwoJbW92ZS5sCShhMSkrLChhNSkKCW1vdmUubAkoYTEpLChhNCkrCgltb3ZlLmwJKGExKSssKGE1KQoJbW92ZS5sCShhMSksKGE0KSsKCW1vdmUubAkoYTEpKywoYTUpCgltb3ZlLmwJKGExKSwoYTQpKwoJbW92ZS5sCShhMSkrLChhNSkKCW1vdmUubAkoYTEpLChhNCkrCgltb3ZlLmwJKGExKSssKGE1KQoJbW92ZS5sCShhMSksKGE0KSsKCW1vdmUubAkoYTEpKywoYTUpCgltb3ZlLmwJKGExKSwoYTQpKwoJbW92ZS5sCShhMSkrLChhNSkKLm5vX3BhbGV0dGUKCW1vdmUubAkoc3ApKyxhNAoJcnRzCgpkbWFfdHJhbnNfd3IKCXB1c2gubAlhMAoKCWxlYQl2ZHBfYyxhNgoJdnJlZwkxNSwyCgoJYWRkcQkjMSxkMAoJbHNyCSMxLGQwCgltb3ZlLmwJZDEsYTAKCgltb3ZlCWQyLGQxCglhbmQJIyYjMDM2OzNmZmYsZDIKCW9yCSMmIzAzNjs0MDAwLGQyCglhbmQJIyYjMDM2O2MwMDAsZDEKCXJvbAkjMixkMQoJc3dhcAlkMgoJbW92ZQlkMSxkMgoJbW92ZS5sCWQyLChhNikKCWxlYQktNChhNiksYTUKLmxvb3AKCW1vdmUubAkoYTApKywoYTUpCglkYmYJZDAsLmxvb3AKCglwb3AubAlhMAoJcnRzCgoqKioqKioqKioqKioqKioqKioqCiogRGlzYWJsZSBTY3JlZW4uICoKKioqKioqKioqKioqKioqKioqKgoKc2NyZWVuX29mZgoJYW5kCSN+JiMwMzY7MDA0MCxyZWcxX3NoYWRvdwk7ZGlzYWJsZSBzY3JlZW4gb3V0cHV0LgoJbW92ZQlyZWcxX3NoYWRvdyx2ZHBfYwk7d3JpdGUgcmVnMSAoc2NyZWVuIGVuYWJsZSkuCglydHMKCioqKioqKioqKioqKioqKioqKgoqIEVuYWJsZSBTY3JlZW4uICoKKioqKioqKioqKioqKioqKioqCgpzY3JlZW5fb24KCW9yCSMmIzAzNjswMDQwLHJlZzFfc2hhZG93CTtlbmFibGUgc2NyZWVuIG91dHB1dC4KCW1vdmUJcmVnMV9zaGFkb3csdmRwX2MJO3dyaXRlIHJlZzEgKHNjcmVlbiBlbmFibGUpLgoJcnRzCgoqKioqKioqKioqKioqKioqKioqKioqKgoqIFJlYWQgUEFML05UU0MgRmxhZy4gKgoqKioqKioqKioqKioqKioqKioqKioqKgoKZ2V0X3R2CglsZWEJdmRwX2MsYTYJCTsKCW1vdmVxCSMxLGQwCQkJO3JlYWQgUEFML05UU0MgZmxhZy4KCWFuZAkoYTYpLGQwCQkJOwoKCWxlYQljcF9hLGE2CQkJO3dyaXRlIHJlc3VsdCB0byBzbW9vdGgtc2Nyb2xsIEEuCgltb3ZlCWQwLChhNikJCQk7CgoJcnRzCgoqKioqKioqKioqKioqKioKKiBDbGVhciBWUkFNLiAqCioqKioqKioqKioqKioqKgoKY2xlYXJfdnJhbQoJbGVhCXZkcF9jLGE2Cgl2cmVnCTE1LDIJCQk7CglpdnJhbXcJMAkJCTtjbGVhciBWUkFNLgoJbW92ZQkjKDY1NTM2LzQpLTEsZDcJCTsKLmN2bAltb3ZlLmwJIzAsLTQoYTYpCglkYmYJZDcsLmN2bAoKCXJ0cwoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCnJlc2V0X3NwZWNpYWxzCgltb3ZlLmwJIyYjMDM2OzA4MDkwYWZmLHdlYXBvbl90YWIrNAoJdHN0LmIJcGx5Mm1vZGUKCWJlcS5zCS4xcAoJbW92ZS5sCSMmIzAzNjswODA5MGEwMCx3ZWFwb25fdGFiKzQKLjFwCglydHMKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCnJlc3RhcnRfbGlmZV9sb3N0CglsZWEJdmFyc19zdGFydCxhMAoJbW92ZQkjKCh2YXJzX2VuZC12YXJzX3N0YXJ0KS8yKS0xLGQ3Ci5jdmFycwljbHIJKGEwKSsKCWRiZglkNywuY3ZhcnMKCglsZWEJU1RSVUNUX1NUQVJULGEwCgltb3ZlCSMoKFNUUlVDVF9FTkQtU1RSVUNUX1NUQVJUKS80KS0xLGQwCi5jMmxvb3AgY2xyLmwJKGEwKSsKCWRiZglkMCwuYzJsb29wCgoJbW92ZQkjMTI4LG1zaWdodF94Cgltb3ZlCSM4OCxtc2lnaHRfeQoKCW1vdmVxCSM0LGQxCgl0c3QuYglwbHkybW9kZQoJYmVxLnMJLm5fMm13Cgltb3ZlLmwJIyYjMDM2OzAwMDcwMDAzLGQxCi5uXzJtdwltb3ZlLmwJZDEsd2VhcG9uCglsZWEJd2VhcG9uX3RhYixhMAoJbW92ZS5sCSMmIzAzNjswMGZmZmYwNCwoYTApKwoJbW92ZS5sCSMmIzAzNjswODA5MGFmZiwoYTApKwoJdHN0LmIJcGx5Mm1vZGUKCWJlcS5zCS4xcAoJbW92ZS5sCSMmIzAzNjtmZmZmZmYwNCwtOChhMCkKCW1vdmUubAkjJiMwMzY7MDgwOTBhMDAsLTQoYTApCi4xcAoJc3QJb3dlYXBvbgoJc3QJb3dlYXBvbjIKCXN0CW9wb3dlcgoJc2YJcmFtX3dlYXBvbgoJY2xyCXJhbV9jb3VudAoJY2xyCXRvcnBlZG9fY291bnQKCgltb3ZlLmIJI21heHNoaWVsZC8yLHNoaWVsZAoJbW92ZQkjKG1heGFjYy0xKS8zLGFjYwoJY2xyCWJvbWJzX3JlbQoJY2xyCXJvY2tldHNfcmVtCgltb3ZlCSM0MCxtaXNzaWxlc19yZW0KCgljbHIJcGxheWVyX3gKCW1vdmUJIyYjMDM2OzQ4LHBsYXllcl95CgoJbW92ZQkjc2NsaXAseWNsaXAKCXJ0cwoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKc2V0X2hwX2EwCgltb3ZlCWQwLG1vYl9ocChhMCkKCXJ0cwoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKc2Nyb2ZmCglqbXAJc2NyZWVuX29mZgpzZXRfc2Nyb25fZGVsYXkKCW1vdmUJIzMsc2Nyb25fZGVsYXkKCXJ0cwoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKZ2V0cmFuZAoJbW92ZS5iCXJhbmRfbnVtLGQwCgltb3ZlLmIJcmFuZF9udW0rMSxyYW5kX251bQoJbW92ZS5iCWQwLHJhbmRfbnVtKzEKOwltb3ZlCSYjMDM2O2ZmODAwYyxkMAoJYWRkCXJhbmRfbnVtLGQwCglyb3IJcmFuZF9udW0KCXJ0cwoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKcGxheV9tdXNpYwphZGRfcXNvdW5kCnJlbW92ZV9xc291bmRfYTUKZG9fcGxfc3RhcnR1cAoJcnRzCgpyb3RhdGVfcGxheWVyX3Nwcml0ZQoJbW92ZQlub2RlX3BsYXllcittb2JfeCxkMQoJbW92ZQlub2RlX3BsYXllcittb2JfeSxkMgoKCW1vdmUJcGJhbmssZDMKCWFzcgkjMyxkMwoJYW5kCSMmIzAzNjs3ZmYsZDMKCgltb3ZlCW5vZGVfcGxheWVyK21vYl9kZWYsZDQKCglqY29tNAlyb3RhdGVfcGxheWVyCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCWluY2x1ZGUJcGxhbmV0LnMKCWluY2x1ZGUJc3VyZmFjZS5zCglpbmNsdWRlCXNwcml0ZS5zCglpbmNsdWRlCWxldmVscy5zCglpbmNsdWRlCWVsb2dpYy5zCgoJaW5jbHVkZQltYXBwaW5nLnMKCglpbmNsdWRlCWJ1bGthbi5zCglpbmNsdWRlCWd1aGEucwoJaW5jbHVkZQl0d2luZ2hhLnMKCWluY2x1ZGUJbWV0YWZ1cy5zCglpbmNsdWRlCWdpZ3VuLnMKCWluY2x1ZGUJa3Jhc3QucwoKCWluY2x1ZGUJbWFwMzYwLnMKCWluY2x1ZGUJd2VhcG9ucy5zCglpbmNsdWRlCXdlYXBvbnMyLnMJOzJuZCBwbGF5ZXIKCglpbmNsdWRlCW11c2ljLnMKCglpbmNsdWRlCWNvbnRyb2wyLnMKCglpbmNsdWRlCXRpdGxlLnMKCWluY2x1ZGUJb3B0aW9ucy5zCgoJaW5jbHVkZQlwYW5lbC5zCgoJaW5jbHVkZQljb3Npbi5zCgpvZGJfdGFibGUKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9udWxsLGhfbnVsbCxoX251bGwsaF9udWxsLDAsMAoKCXJlcHQJMTI3CglvZGIJJiMwMzY7NDAwLCYjMDM2OzIwMCwtJiMwMzY7MjAwLCYjMDM2OzIwMCwtJiMwMzY7MjAwLGhpdF9lbmVteSxkb19wYXRoX2FuaW0sMCxwbG90X3Nwcixpbml0X3BhdGhfYWxpZW4sMCwwCgllbmRyCgoqIHBsYXllciB3ZWFwb25zICgyMCkKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9udWxsLDAscGxvdF9zcHIsaG51bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfbnVsbCwwLHBsb3RfaHVudGVyX3NwcixobnVsbCwwLDAKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9udWxsLDAscGxvdF9zcHIsaG51bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfbnVsbCwwLHBsb3RfcGxfbGFzZXIsaG51bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfbnVsbCwwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX251bGwsMCxwbG90X3NwcixobnVsbCwwLDAKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9udWxsLDAscGxvdF9wbF9yb2NrZXQsaG51bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfbnVsbCwwLHBsb3RfY2hhcmdlYWJsZV9zcHIsaG51bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfbnVsbCwwLHBsb3RfcGxfbGFzZXIsaG51bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfbnVsbCwwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX251bGwsMCxwbG90X3NwcixobnVsbCwwLDAKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9udWxsLDAscGxvdF9zcHIsaG51bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfbnVsbCwwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX251bGwsMCxwbG90X3NwcixobnVsbCwwLDAKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9udWxsLDAscGxvdF9zcHIsaG51bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfbnVsbCwwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX251bGwsMCxwbG90X3NwcixobnVsbCwwLDAKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9udWxsLDAscGxvdF9zcHIsaG51bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfbnVsbCwwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX251bGwsMCxwbG90X3NwcixobnVsbCwwLDAKCglyZXB0CTEwNwoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxkb19wYXRoX2FuaW0sMCxwbG90X3NwcixobnVsbCwwLDAKCWVuZHIKCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfbnVsbDIsMCxwbG90X3NwcixobnVsbCwwLDAKCiogZXhwbG9zaW9ucwoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2dfZXhwLGhfZ19leHBfMzYwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2FfZXhwLGhfYV9leHBfMzYwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2dfZXhwLGhfZ19leHBfMzYwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2FfZXhwLGhfYV9leHBfMzYwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2dfZXhwLGhfZ19leHBfMzYwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2FfZXhwLGhfYV9leHBfMzYwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2FfZXhwLGhfYV9leHBfMzYwLHBsb3Rfc3ByLGhudWxsLDAsMAoqIHNtIGV4cCAob3IvYmwpCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfc21fZXhwX29yLGhfc21fZXhwX29yXzM2MCxwbG90X3NwcixobnVsbCwwLDAKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9zbV9leHBfYmwsaF9zbV9leHBfYmxfMzYwLHBsb3Rfc3ByLGhudWxsLDAsMAoqIHNtYWxsIHRhbmsgc21va2UKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9zdF9zbW9rZSxoX3N0X3Ntb2tlXzM2MCxwbG90X3NwcixobnVsbCwwLDAKKiBzbWFsbCBleHAgKHN0YWdlICMwOSBCT1NTKQoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX3NtZXhwMDksMCxwbG90X3NwcixoX251bGwsMCwwCiogc21hbGwgc21va2UgKEdJR1VOKQoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX3NtX2V4cF9ibDIsMCxwbG90X3NwcixoX251bGwsMCwwCgoqIHBsYXllciBleHBsb3Npb25zCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfYV9leHAsaF9hX2V4cF8zNjAscGxvdF9zcHIsaG51bGwsMCwwCgoqIGVuZW15IHdlYXBzICgzMikKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9ld2VhcDAwLDAscGxvdF9zcHIsaG51bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfZXdlYXAwMSwwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2V3ZWFwMDIsMCxwbG90X3NwcixobnVsbCwwLDAKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9ncnphcF9sYXNlciwwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2V3ZWFwMDQsMCxwbG90X3RsYXNlcl8xNixobnVsbCwwLDAKCW9kYgkmIzAzNjs0MDAsJiMwMzY7MjAwLC0mIzAzNjsyMDAsJiMwMzY7MjAwLC0mIzAzNjsyMDAsaGl0X2VuZW15X21pc3NpbGUsaF9ld2VhcF9taXNzaWxlMDUsMCxwbG90X3NwcixobnVsbCwwLDAKCW9kYgkmIzAzNjs0MDAsJiMwMzY7MzAwLC0mIzAzNjszMDAsJiMwMzY7MjAwLC0mIzAzNjsyMDAsaGl0X2VuZW15LGhfZXdlYXAwNiwwLHBsb3Rfc3ByLGluaXRfM2hwLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2V3ZWFwMDcsMCxwbG90X3NwcixobnVsbCwwLDAKCW9kYgkmIzAzNjs0MDAsJiMwMzY7MjAwLC0mIzAzNjsyMDAsJiMwMzY7MjAwLC0mIzAzNjsyMDAsaGl0X2VuZW15X21pc3NpbGUsaF9ld2VhcDA4LDAscGxvdF9zcHIsaG51bGwsMCwwCglvZGIJJiMwMzY7YzAwLCYjMDM2OzA4MCwtJiMwMzY7MDAwLCYjMDM2OzA4MCwtJiMwMzY7MDgwLGhpdF9lbmVteV9taXNzaWxlLGhfZXdlYXAwOSxoX2V3ZWFwMDlfMzYwLHBsb3Rfc3ByLGhudWxsLDEsJiMwMzY7NAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2V3ZWFwMEIsaF9ld2VhcDBBXzM2MCxwbG90X3NwcixobnVsbCwwLDAKCW9kYgkmIzAzNjtjMDAsJiMwMzY7MDgwLC0mIzAzNjswMDAsJiMwMzY7MDgwLC0mIzAzNjswODAsaGl0XzI4X3Nob3QsaF9ld2VhcDBCLGhfZXdlYXAwQl8zNjAscGxvdF9zcHIsaG51bGwsMCwmIzAzNjtmCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfZXdlYXAwRSxoX2V3ZWFwMENfMzYwLHBsb3RfdGxhc2VyXzM2MCxobnVsbCwwLDAKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9ld2VhcDBFLGhfZXdlYXAwRF8zNjAscGxvdF9zcHIsaG51bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfZXdlYXAwRSxoX2V3ZWFwMEVfMzYwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2V3ZWFwMEYsaF9ld2VhcDBGXzM2MCxwbG90X3RsYXNlcl8zNjAsaG51bGwsMCwwCgoJb2RiCSYjMDM2OzQwMCwmIzAzNjsyMDAsLSYjMDM2OzIwMCwmIzAzNjsyMDAsLSYjMDM2OzIwMCxoaXRfZW5lbXlfbWlzc2lsZSxoX2V3ZWFwMTAsMCxwbG90X3NwcixobnVsbCwwLDAKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9ld2VhcDAyLDAscGxvdF9zcHIsaG51bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfZXdlYXAwMiwwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2V3ZWFwMDIsMCxwbG90X3NwcixobnVsbCwwLDAKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9ld2VhcDAyLDAscGxvdF9zcHIsaG51bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfZXdlYXAwMiwwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2V3ZWFwMDIsMCxwbG90X3NwcixobnVsbCwwLDAKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9ld2VhcDAyLDAscGxvdF9zcHIsaG51bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfZXdlYXAwMiwwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2V3ZWFwMDIsMCxwbG90X3NwcixobnVsbCwwLDAKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9ld2VhcDAyLDAscGxvdF9zcHIsaG51bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfZXdlYXAwMiwwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2V3ZWFwMDIsMCxwbG90X3NwcixobnVsbCwwLDAKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9ld2VhcDAyLDAscGxvdF9zcHIsaG51bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfZXdlYXAwMiwwLHBsb3Rfc3ByLGhudWxsLDAsMAoKKiBwbGF5ZXIgc2hpcAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX251bGwsMCxyb3RhdGVfcGxheWVyX3Nwcml0ZSxoX251bGwsMCwwCiogcGxheWVyIHdhbGtlcgoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxobnVsbCwwLHBsb3RfcGxheWVyX3dhbGtlcixobnVsbCwwLDAKKiBtaXNzaWxlIHNpZ2h0CglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhudWxsLDAscGxvdF9tc2lnaHQsaG51bGwsMCwwCiogc3RhZ2UgMDggd2FycGluZyBvcmIKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF93b3JiMDgsMCxwbG90X3NwcixoX251bGwsMCwwCiogc3RhZ2UgMDUgbGFzZXIgc2lnaHQKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9udWxsLGhsXzA1X2xzaWdodCxwbG90XzA1X2xzaWdodCxoX251bGwsMCwwCiogc3RhZ2UgMDUgbGFzZXIgYmVhbQoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX251bGwsaGxfMDVfbGJlYW0scGxvdF8wNV9sYmVhbSxoX251bGwsMCwwCgoqIGFzdGVyb2lkCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfYXN0ZXJvaWQwMCwwLHBsb3Rfc3RhcixoX251bGwsMCwwCiogYnVpbGRpbmcgZnJhZ21lbnRzCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfbGVpcmFfYmYxLGhfbGVpcmFfYmZfMzYwLHBsb3RfZnJhZ19zcHIsaF9udWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2xlaXJhX2JmMixoX2xlaXJhX2JmXzM2MCxwbG90X2ZyYWdfc3ByLGhfbnVsbCwwLDAKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9sZWlyYV9iZjMsaF9sZWlyYV9iZl8zNjAscGxvdF9mcmFnX3NwcixoX251bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfbGVpcmFfYmY0LGhfbGVpcmFfYmZfMzYwLHBsb3RfZnJhZ19zcHIsaF9udWxsLDAsMAoqIHBhbmVsIHBhbGV0dGUgZnJhZ21lbnRzCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfcGZyYWcxLGhfbGVpcmFfYmZfMzYwLHBsb3Rfc3ByLGhfbnVsbCwwLDAKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9wZnJhZzIsaF9sZWlyYV9iZl8zNjAscGxvdF9zcHIsaF9udWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX3BmcmFnMyxoX2xlaXJhX2JmXzM2MCxwbG90X3NwcixoX251bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfcGZyYWc0LGhfbGVpcmFfYmZfMzYwLHBsb3Rfc3ByLGhfbnVsbCwwLDAKCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfcGZyYWcxcyxoX2xlaXJhX2JmXzM2MCxwbG90X3NwcixoX251bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfcGZyYWcycyxoX2xlaXJhX2JmXzM2MCxwbG90X3NwcixoX251bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfcGZyYWczcyxoX2xlaXJhX2JmXzM2MCxwbG90X3NwcixoX251bGwsMCwwCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfcGZyYWc0cyxoX2xlaXJhX2JmXzM2MCxwbG90X3NwcixoX251bGwsMCwwCiogcGxheWVyIGhpdAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX3BseWhpdCwwLHBsb3Rfc3ByLGhudWxsLDAsMAoqIHBsYXllciBSQU0gdW5pdAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX251bGwsMCxwbG90X3NwcixobnVsbCwwLDAKCiogZW5lbXkgMiAtIGRvd24KCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9lbmVteTJfZG93biwwLHBsb3Rfc3ByLGhudWxsLDAsMAoqIGxlaXJhIGxhbmRlciBkb3duCglvZGIJJiMwMzY7NDAwLCYjMDM2OzIwMCwtJiMwMzY7MjAwLCYjMDM2OzIwMCwtJiMwMzY7MjAwLDAsaF9sZWlyYV9sYW5kZXJfZG93biwwLHBsb3Rfc3ByLGhudWxsLDAsMAoqIGZhbGxpbmcgbWluZQoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2ZhbGxpbmdfbWluZSwwLHBsb3RfbWluZV9zcHIsaG51bGwsMCwwCiogc2FuZCBzcHJheQoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX3NhbmRfc3ByYXksaGxfc2FuZF9zcHJheV8zNjAscGxvdF9zcHIsaG51bGwsMCwwCiogc2FuZCBzcHJheSAoc21hbGwpCglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfc2FuZF9zcHJheTIsaGxfc2FuZF9zcHJheTJfMzYwLHBsb3Rfc3ByLGhudWxsLDAsMAoqIHNuYWtleSBzYW5kIHNwcmF5CglvZGIJLTAwMSwmIzAzNjswMDAsLSYjMDM2OzAwMCwmIzAzNjswMDAsLSYjMDM2OzAwMCwwLGhfc2FuZF9zcHJheV9zLDAscGxvdF9zcHIsaG51bGwsMCwwCiogZ3VoYSBjcmF0ZXIKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9ndWhhX2NyYXRlcixobF9ndWhhX2NyYXRlcl8zNjAscGxvdF9zcHIsaG51bGwsMCwwCiogZ3VoYSBib3NzIHNoaWVsZCBoaXQmIzMzOwoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2d1aGFfYmhpdCxobF9ndWhhX2JoaXQscGxvdF9zcHIsaG51bGwsMCwwCgoqIHR3aW5naGEgd2F0ZXIgc3BsYXNoZXMgKHZsYXJnZS9sYXJnZS9zbWFsbCkKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF92bF9zcGxhc2gxMCwwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2xfc3BsYXNoMTAsMCxwbG90X3NwcixobnVsbCwwLDAKCW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9zX3NwbGFzaDEwLDAscGxvdF9zcHIsaG51bGwsMCwwCgo7CXJlcHQJMzg0LW90X2Z4bGFzdAo7CW9kYgktMDAxLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsMCwwLDAsaG51bGwsMCwwCjsJZW5kcgoKKiBib251cyAxYS1jCmNpX2JvbnVzMQoJb2RiCSYjMDM2OzQwMCwmIzAzNjszMDAsLSYjMDM2OzMwMCwmIzAzNjszMDAsLSYjMDM2OzMwMCxoaXRfYm9udXMxYWJjLGhfYm9udXMxYSwwLHBsb3RfYm9udXMsaG51bGwsMCwwCglvZGIJJiMwMzY7NDAwLCYjMDM2OzMwMCwtJiMwMzY7MzAwLCYjMDM2OzMwMCwtJiMwMzY7MzAwLGhpdF9ib251czFhYmMsaF9ib251czFiLDAscGxvdF9ib251cyxobnVsbCwwLDAKCW9kYgkmIzAzNjs0MDAsJiMwMzY7MzAwLC0mIzAzNjszMDAsJiMwMzY7MzAwLC0mIzAzNjszMDAsaGl0X2JvbnVzMWFiYyxoX2JvbnVzMWMsMCxwbG90X2JvbnVzLGhudWxsLDAsMAoqIGxlaXJhIHJvY2tzCglvZGIJJiMwMzY7NDAwLCYjMDM2OzEwMCwtJiMwMzY7MTAwLCYjMDM2OzEwMCwtJiMwMzY7YzAwLGhpdF9pbmRlc3RydWN0aWJsZSxoX2xlaXJhX3Ryb2NrLDAscGxvdF9zcHIsaG51bGwsMCwwCglvZGIJJiMwMzY7NDAwLCYjMDM2OzEwMCwtJiMwMzY7MTAwLCYjMDM2OzEwMCwtJiMwMzY7ODAwLGhpdF9pbmRlc3RydWN0aWJsZSxoX2xlaXJhX21yb2NrLDAscGxvdF9zcHIsaG51bGwsMCwwCglvZGIJJiMwMzY7NDAwLCYjMDM2OzEwMCwtJiMwMzY7MTAwLCYjMDM2OzEwMCwtJiMwMzY7NDAwLGhpdF9pbmRlc3RydWN0aWJsZSxoX2xlaXJhX3Nyb2NrLDAscGxvdF9zcHIsaG51bGwsMCwwCiogd2FycHNoaXAgYm9zcwoJb2RiCSYjMDM2O2MwMCwmIzAzNjsxMDAsLSYjMDM2OzAwMCwmIzAzNjsxMDAsLSYjMDM2OzAwMCxoaXRfaW5kZXN0cnVjdGlibGVfMzYwLGhfYm9zczAzLDAscGxvdF9zcHIsaG51bGwsMCwmIzAzNjthCiogd2FycHNoaXAgcGlsb24KCW9kYgkmIzAzNjtjMDAsJiMwMzY7MGMwLC0mIzAzNjswMDAsJiMwMzY7MTgwLC0mIzAzNjswMDAsaGl0X2luZGVzdHJ1Y3RpYmxlXzM2MCxoX3dwaWxvbjAzLDAscGxvdF9zcHIsaG51bGwsMCwmIzAzNjthCiogd2FycHNoaXAgc2hpZWxkCglvZGIJJiMwMzY7YzAwLCYjMDM2OzBjMCwtJiMwMzY7MDAwLCYjMDM2OzA3MCwtJiMwMzY7MDcwLGhpdF9pbmRlc3RydWN0aWJsZV8zNjAsaF9zaGllbGRzMDMsMCxwbG90X3NwcixobnVsbCwwLCYjMDM2O2EKKiB3YXJwc2hpcCB3YXJwZ2F0ZQoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX3dhcnBnYXRlMDMsMCxwbG90X3NwcixobnVsbCwwLCYjMDM2O2YKKiBjcHUgbWFsZnVuY3Rpb24KCW9kYgktMDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLCYjMDM2OzAwMCwtJiMwMzY7MDAwLDAsaF9tYWxmMDMsMCxwbG90X3NwcixobnVsbCwwLDAKKiB3YXJwc2hpcCBweWxvbgoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX3dwX3BpbG9uLDAscGxvdF9zcHIsaG51bGwsMCwmIzAzNjthCiogd2FycHNoaXAgc21hbGwgcHlsb24KCW9kYgkmIzAzNjtjMDAsJiMwMzY7MDgwLC0mIzAzNjswMDAsJiMwMzY7MTAwLC0mIzAzNjswMDAsMCxoX3NtX3BpbG9uMDMsMCxwbG90X3NwcixobnVsbCwwLCYjMDM2O2EKKiB3YXJwc2hpcCBmcmFnbWVudCBXLEEsQgoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2ZyYWdtZW50MDN3LDAsaF9udWxsLGhfbnVsbCwwLDAKCW9kYgkmIzAzNjtjMDAsJiMwMzY7MGUwLC0mIzAzNjswMDAsJiMwMzY7MTIwLC0mIzAzNjswMDAsaGl0X2luZGVzdHJ1Y3RpYmxlXzM2MCxoX2ZyYWdtZW50MDNhLGhfZnJhZ21lbnRfMDNfMzYwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCSYjMDM2O2MwMCwmIzAzNjswZTAsLSYjMDM2OzAwMCwmIzAzNjsxMjAsLSYjMDM2OzAwMCxoaXRfaW5kZXN0cnVjdGlibGVfMzYwLGhfZnJhZ21lbnQwM2IsMCxwbG90X3NwcixobnVsbCwwLCYjMDM2OzMKCiogZ3VoYSByb2NrcwoJb2RiCSYjMDM2O2MwMCwmIzAzNjswYzAsLSYjMDM2OzAwMCwmIzAzNjsxMDAsLSYjMDM2OzAwMCxoaXRfaW5kZXN0cnVjdGlibGVfMzYwLGhfZ3VoYV9yb2NrMSwwLHBsb3Rfc3ByLGhfbnVsbCwwLDAKCW9kYgkmIzAzNjtjMDAsJiMwMzY7MDgwLC0mIzAzNjswMDAsJiMwMzY7MDgwLC0mIzAzNjswMDAsaGl0X2luZGVzdHJ1Y3RpYmxlXzM2MCxoX2d1aGFfcm9jazIsMCxwbG90X3NwcixoX251bGwsMCwwCiogZ3VoYSBkb21lCglvZGIJJiMwMzY7YzAwLCYjMDM2OzEwMCwtJiMwMzY7MDAwLCYjMDM2OzBjMCwtJiMwMzY7MDAwLGhpdF9ndWhhX2RvbWUzNjAsaF9ndWhhX2RvbWUxLDAscGxvdF9zcHIsaW5pdF9ndWhhX2RvbWUsMSwmIzAzNjsyCglvZGIJJiMwMzY7YzAwLCYjMDM2OzEwMCwtJiMwMzY7MDAwLCYjMDM2OzBjMCwtJiMwMzY7MDAwLGhpdF9ndWhhX2RvbWUzNjAsaF9ndWhhX2RvbWUyLDAscGxvdF9zcHIsaF9udWxsLDEsJiMwMzY7MgoJb2RiCSYjMDM2O2MwMCwmIzAzNjsxMDAsLSYjMDM2OzAwMCwmIzAzNjswNTAsLSYjMDM2OzAwMCxoaXRfaW5kZXN0cnVjdGlibGVfMzYwLGhfZ3VoYV9kb21lMywwLHBsb3Rfc3ByLGhfbnVsbCwwLDAKKiBndWhhIHNtYWxsIHRvd2VyCglvZGIJJiMwMzY7YzAwLCYjMDM2OzA4MCwtJiMwMzY7MDAwLCYjMDM2OzBjMCwtJiMwMzY7MDAwLGhpdF9ndWhhX3NtdG93ZXIzNjAsaF9ndWhhX3NtdG93ZXIxLDAscGxvdF9zcHIsaF9udWxsLDEsJiMwMzY7MwoJb2RiCSYjMDM2O2MwMCwmIzAzNjswODAsLSYjMDM2OzAwMCwmIzAzNjswODAsLSYjMDM2OzAwMCxoaXRfaW5kZXN0cnVjdGlibGVfMzYwLGhfZ3VoYV9zbXRvd2VyMiwwLHBsb3Rfc3ByLGhfbnVsbCwwLDAKKiBndWhhIHBpbG9uCglvZGIJJiMwMzY7YzAwLCYjMDM2OzA4MCwtJiMwMzY7MDAwLCYjMDM2OzE4MCwtJiMwMzY7MDAwLGhpdF9ndWhhX3BpbG9uMzYwLGhfZ3VoYV9waWxvbiwwLHBsb3RfZ3VoYV9waWxvbixoX251bGwsMCwmIzAzNjszCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqIHR3aW5naGEgcm9ja3MgKgoqKioqKioqKioqKioqKioqKgoqIGZsYXQgcm9jawoJb2RiCSYjMDM2OzQwMCwmIzAzNjsxODAsLSYjMDM2OzE4MCwmIzAzNjsxMDAsLSYjMDM2OzEwMCxoaXRfaW5kZXN0cnVjdGlibGUsaF9mbF9yb2NrMTAsMCxwbG90X3NwcixobnVsbCwwLDAKKiBzbWFsbCByb2NrCglvZGIJJiMwMzY7NDAwLCYjMDM2OzE4MCwtJiMwMzY7MTgwLCYjMDM2OzEwMCwtJiMwMzY7NDAwLGhpdF9pbmRlc3RydWN0aWJsZSxoX3Nfcm9jazEwLDAscGxvdF9zcHIsaG51bGwsMCwwCiogdGFsbCByb2NrCglvZGIJJiMwMzY7NDAwLCYjMDM2OzE4MCwtJiMwMzY7MTgwLCYjMDM2OzEwMCwtJiMwMzY7ZDAwLGhpdF9pbmRlc3RydWN0aWJsZSxoX3Rfcm9jazEwLDAscGxvdF9zcHIsaG51bGwsMCwwCiogdGFsbCB1bWJyZWxsYSByb2NrCglvZGIJJiMwMzY7NDAwLCYjMDM2OzE4MCwtJiMwMzY7MTgwLCYjMDM2OzEwMCwtJiMwMzY7ZDAwLGhpdF9pbmRlc3RydWN0aWJsZSxoX3R1X3JvY2sxMCwwLHBsb3Rfc3ByLGhudWxsLDAsMAoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCjsJcmVwdAk1MTItb3RfaHRsYXN0CjsJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCwwLDAsMCxobnVsbCwwLDAKOwllbmRyCgoqIGJvbnVzIDEKY2lfYm9udXMyCglvZGIJJiMwMzY7NDAwLCYjMDM2OzIwMCwtJiMwMzY7MjAwLCYjMDM2OzIwMCwtJiMwMzY7MjAwLGhpdF9ib251czEsaF9ib251czEsMCxwbG90X3Nwcixpbml0X2JvbnVzMSwmIzAzNjsxLDAKKioqKioqKioqKioqKgoqIFNUQUdFICMwMCAqCioqKioqKioqKioqKioKKiBzbWFsbCBzdGFyYmFzZQoJb2RiCS0wMDEsJiMwMzY7MDAwLC0mIzAzNjswMDAsJiMwMzY7MDAwLC0mIzAzNjswMDAsMCxoX2VuZW15NCwwLHBsb3Rfc3ByLGluaXRfZW40LCYjMDM2OzAsMAoqKioqKioqKioqKioqCiogU1RBR0UgIzAxICoKKioqKioqKioqKioqKgoqIGxlaXJhIGJ1aWxkaW5ncwoJb2RiCSYjMDM2OzQwMCwmIzAzNjszMDAsLSYjMDM2OzMwMCwmIzAzNjsxMDAsLSYjMDM2OzgwMCxoaXRfZ3JvdW5kX29ial9mLGhfbGVpcmFfb2QsMCxwbG90X3Nwcixpbml0XzFocCwmIzAzNjsxLDAKCW9kYgktMDAxLCYjMDM2OzMwMCwtJiMwMzY7MzAwLCYjMDM2OzEwMCwtJiMwMzY7NDAwLGhpdF9pbmRlc3RydWN0aWJsZSxoX2xlaXJhX29kX2QsMCxwbG90X3NwcixobnVsbCwwLDAKCW9kYgkmIzAzNjs0MDAsJiMwMzY7MjAwLC0mIzAzNjsyMDAsJiMwMzY7MTAwLC0mIzAzNjtiMDAsaGl0X2dyb3VuZF9vYmpfZixoX2xlaXJhX2IxLDAscGxvdF9zcHIsaW5pdF8zaHAsJiMwMzY7MSwwCglvZGIJLTAwMSwmIzAzNjsyMDAsLSYjMDM2OzIwMCwmIzAzNjsxMDAsLSYjMDM2OzIwMCxoaXRfaW5kZXN0cnVjdGlibGUsaF9sZWlyYV9iMV9kLDAscGxvdF9zcHIsaG51bGwsMCwwCglvZGIJJiMwMzY7NDAwLCYjMDM2OzMwMCwtJiMwMzY7NDAwLCYjMDM2OzEwMCwtJiMwMzY7MTAwMCxoaXRfZ3JvdW5kX29ial9mLGhfbGVpcmFfcmIyLDAscGxvdF9zcHIsaW5pdF82aHAsJiMwMzY7MSwwCglvZGIJLTAwMSwmIzAzNjszMDAsLSYjMDM2OzQwMCwmIzAzNjsxMDAsLSYjMDM2OzYwMCxoaXRfaW5kZXN0cnVjdGlibGUsaF9sZWlyYV9yYjJfZCwwLHBsb3Rfc3ByLGhudWxsLDAsMAoJb2RiCSYjMDM2OzQwMCwmIzAzNjszMDAsLSYjMDM2OzQwMCwmIzAzNjsxMDAsLSYjMDM2OzEwMDAsaGl0X2dyb3VuZF9vYmpfZixoX2xlaXJhX2xiMiwwLHBsb3Rfc3ByLGluaXRfNmhwLCYjMDM2OzEsMAoJb2RiCS0wMDEsJiMwMzY7MzAwLC0mIzAzNjs0MDAqKioqKioqKioqKioqKioqCiogQ29udHJvbCBmaWxlICoKKioqKioqKioqKioqKioqKgpkb192X2NvbnRyb2wKCXRzdAlkeWluZ19jbnQKCWJlcS5zCS5ub3RfZHlpbmcKCXJ0cwoubm90X2R5aW5nCgltb3ZlLmIJam95MCxkMQoKCXRzdC5iCWluX2xhdmEKCWJlcS5zCS5ub3RfbGF2YTEKCW9yLmIJIyYjMDM2OzBjLGQxCi5ub3RfbGF2YTEKCgltb3ZlCXZlaGljbGUsZDAKCXN1YnEJIzEsZDAKCWJtaQlzdHJpa2VyX2N0cmwKCWJlcQljb3B0ZXJfY3RybAp3YWxrZXJfY3RsCgljbXAJIzIrNCx3YWxrZXJfY291bnQKCWJlcS5zCS50MgoJY21wCSMyLHdhbGtlcl9jb3VudAoJYm5lLnMJLnQxCi50MgoJbW92ZQl3YWxrZXJfY291bnQsZDMKCWNtcAlsX3dhbGtlcl9jb3VudCxkMwoJYmVxLnMJLnQyYQoJdHN0CXdhcnBfY291bnQKCWJuZS5zCS50MmEKCWpzcglkb193YWxrZXJfZm9vdF9zZngKLnQyYQoJY2xyCXNjcl9zcGQKCWNscgl3YWxrZXJfZGlyCglzZgl3YWxrZXJfdHVybgoudDEKCXRzdAl3YXJwX2NvdW50CglibmUJLndlX2FyZV93YXJwaW5nCgoJbW92ZQlwYmFuayxkMwoKCWJ0c3QJIzIsZDEKCWJuZS5zCS5ubAoKCXN0CXdhbGtlcl90dXJuCgltb3ZlCSMtMSx3YWxrZXJfZGlyCgoJYWRkCSMmIzAzNjswODAsZDMKCWNtcAkjJiMwMzY7MjAwLGQzCglibHQucwkucGJkCgltb3ZlCSMmIzAzNjsyMDAsZDMKCWJyYS5zCS5wYmQKLm5sCglidHN0CSMzLGQxCglibmUucwkubnIKCglzdAl3YWxrZXJfdHVybgoJbW92ZQkjLTEsd2Fsa2VyX2RpcgoKCXN1YgkjJiMwMzY7MDgwLGQzCgljbXAJIy0mIzAzNjsyMDAsZDMKCWJndC5zCS5wYmQKCW1vdmUJIy0mIzAzNjsyMDAsZDMKCWJyYS5zCS5wYmQKLm5yCgl0c3QuYgl3YWxrZXJfdHVybgoJYm5lLnMJLnBiZAoJCgl0c3QJZDMKCWJlcS5zCS5wYmQKCWJtaS5zCS5wYmFkZAoucGJzdWIJc3ViCSMmIzAzNjs4MCxkMwoJYnJhLnMJLnBiZAoucGJhZGQJYWRkCSMmIzAzNjs4MCxkMwoucGJkCW1vdmUJZDMscGJhbmsKCgltb3ZlCXdhbGtlcl9jb3VudCxsX3dhbGtlcl9jb3VudAoKCXRzdAlzbGlkZV9jb3VudAoJYmVxCS5ub19zbGlkZQoKCWJ0c3QJIzAsZDEKCWJlcS5zCS51cF9vawoJY21wCSM2LHNsaWRlX2NvdW50CglibGUucwkuZnVlbF9va185NwoJbW92ZQkjNixzbGlkZV9jb3VudAo7CWJyYS5zCS5mdWVsX29rXzk3Ci51cF9vawo7CW1vdmVxCSM3LGQwCjsJYW5kCWdhbWVfZGVsLGQwCjsJYm5lLnMJLmZ1ZWxfb2tfOTcKOwlzdWJxCSMxLGFjYwouZnVlbF9va185NwoKCXNmCXdhbGtlcl90dXJuCgltb3ZlCXNsaWRlX2NvdW50LGQwCgljbXAJIygyMCozKS02LGQwCglibGUucwkuc2xpZGUyCgltb3ZlcQkjKDIwKjMpLTEsZDAKCXN1YglzbGlkZV9jb3VudCxkMAoJbHNsCSM0LGQwCglicmEucwkuc2xpZGUxCi5zbGlkZTIKOwl0c3QJYWNjCjsJYm5lLnMJLmZ1ZWxfb2tfOTgKOwlzdWJxCSMyLHNjcl9zcGQKOwlicGwJLmFsbF9kb25lCjsJY2xyCXNjcl9zcGQKOwljbHIJc2xpZGVfY291bnQKOy5mdWVsX29rXzk4CglzdWJxCSMxLGQwCglhZGQJZDAsZDAKCWFkZAlkMCxkMAoJY21wCSMmIzAzNjs2MCxkMAoJYmxlLnMJLnNsaWRlMQoJbW92ZXEJIyYjMDM2OzYwLGQwCi5zbGlkZTEKCW1vdmUJZDAsc2NyX3NwZAoJYnJhCS5hbGxfZG9uZQoKLm5vX3NsaWRlCgl0c3QJanVtcF9tb2RlCgliZXEJLm5vX2p1bXAKCgljbXAJIzEsanVtcF9tb2RlCglibmUucwkubm90X2ptMQoJc3VicQkjMSxqdW1wX2NvdW50MgoJYnBsCS5hbGxfZG9uZQoJbW92ZS5iCWpveV9zcGMxLGQwCglidHN0CWQwLGpveTEKCWJlcS5zCS5qbXAxX29rCgljbHIJanVtcF9tb2RlCglic3IJZmluZF9uZXh0X3RhcmdldAoJanNyCWRvX250YXJnX3NmeAoJYnJhCS5ub19qdW1wCi5qbXAxX29rCglhZGRxCSMxLGp1bXBfbW9kZQoubm90X2ptMQoJY21wCSMyLGp1bXBfbW9kZQoJYm5lLnMJLm5vdF9qbTIKCWFkZHEJIzEsanVtcF9jb3VudAoJY21wCSMoMjArKDIwLzIpKS8yLGp1bXBfY291bnQKCWJuZQkudXBkYXRlX2ptcAoJYWRkcQkjMSxqdW1wX21vZGUKCW1vdmUJIzIwKjMsanVtcF9jb3VudDIKCWJyYQkudXBkYXRlX2ptcAoubm90X2ptMgoJY21wCSMzLGp1bXBfbW9kZQoJYm5lLnMJLm5vdF9qbTMKCWNtcAkjJiMwMzY7NTgsanVtcF90aHJ1c3QKCWJlcS5zCS5qbXBfdGhfb2sKCWFkZAkjJiMwMzY7MGIsanVtcF90aHJ1c3QKLmptcF90aF9vawoJbW92ZS5iCWpveV9zcGMxLGQwCglidHN0CWQwLGpveTEKCWJuZS5zCS5qdW1wX3gKOwl0c3QJYWNjCjsJYmVxLnMJLmp1bXBfeAo7CW1vdmVxCSM3LGQwCjsJYW5kCWdhbWVfZGVsLGQwCjsJYm5lLnMJLmZ1ZWxfb2tfOTkKOwlzdWJxCSMxLGFjYwo7LmZ1ZWxfb2tfOTkKCglzdWJxCSMxLGp1bXBfY291bnQyCglicGwJLnVwZGF0ZV9qbXAKLmp1bXBfeAoJYWRkcQkjMSxqdW1wX21vZGUKCWNscglqdW1wX2NvdW50MgoJYnJhLnMJLnVwZGF0ZV9qbXAKLm5vdF9qbTMKCXRzdAlqdW1wX3RocnVzdAoJYmVxLnMJLmptcF90aF9vazIKCXN1YnEJIzQsanVtcF90aHJ1c3QKCWJwbC5zCS5qbXBfdGhfb2syCgljbHIJanVtcF90aHJ1c3QKLmptcF90aF9vazIKCWFkZHEJIzEsanVtcF9jb3VudAoJY21wCSMyMCxqdW1wX2NvdW50CglibmUucwkudXBkYXRlX2ptcAoKCXN1YnEJIzEsanVtcF9jb3VudAoKCW1vdmUJanVtcF90aHJ1c3QsZDAKCWFzcgkjMSxkMAoJbW92ZQlkMCxzY3Jfc3BkCgoJY2xyCXBsYXllcl95CgoJY21wCSMyMC8yLGp1bXBfY291bnQyCgliZXEucwkudGhfb2szCglhZGRxCSMxLGp1bXBfY291bnQyCi50aF9vazMKCXRzdAlqdW1wX3RocnVzdAoJYm5lCS5hbGxfZG9uZQoJY21wCSMyMC8yLGp1bXBfY291bnQyCglibmUJLmFsbF9kb25lCgoJY2xyCWp1bXBfbW9kZQoJY2xyCXBsYXllcl95CglydHMKCi51cGRhdGVfam1wCglsZWEJc2ludGFiLGEwCgltb3ZlCWp1bXBfY291bnQsZDAKCW11bHMJIzEwMjQvMjAsZDAKCWFkZAlkMCxkMAoJbW92ZS5iCShhMCxkMCksZDAKCWV4dAlkMAoJcHVzaAlkMAoJYXNyCSMyLGQwCgltb3ZlCWQwLHBsYXllcl95Cglhc3IJIzEsZDAKCWFkZAlkMCxwbGF5ZXJfeQoKCXBvcAlkMAoJYXNyCSMxLGQwCglhZGQJanVtcF90aHJ1c3QsZDAKCWFzcgkjMSxkMAoJbW92ZQlkMCxzY3Jfc3BkCglicmEJLmFsbF9kb25lCi5ub19qdW1wCglidHN0CSMwLGQxCglibmUucwkubm9fYWN0X3NsaWRlCgljbXAJIzIwLzQsYmJfZG93bgoJYmxlLnMJLm5vX2FjdF9zbGlkZQo7CXRzdAlhY2MKOwliZXEucwkubm9fYWN0X3NsaWRlCgltb3ZlCSMyMCozLHNsaWRlX2NvdW50Cgltb3ZlCSMyLHdhbGtlcl9jb3VudAogCWNscgl3YWxrZXJfZGlyCglzZgl3YWxrZXJfdHVybgoJYnJhCS5hbGxfZG9uZQoubm9fYWN0X3NsaWRlCgoJbW92ZS5iCWpveV9zcGMxLGQwCglidHN0CWQwLGpveTEKCWJuZS5zCS5ub19hY3RfanVtcAoJbW92ZQkjMSxqdW1wX21vZGUKCWNscglqdW1wX2NvdW50Cgltb3ZlCSMyMC81LGp1bXBfY291bnQyCgltb3ZlCSMyLHdhbGtlcl9jb3VudAoJY2xyCXNjcl9zcGQKCWNscgl3YWxrZXJfZGlyCglzZgl3YWxrZXJfdHVybgoJYnJhCS5hbGxfZG9uZQoubm9fYWN0X2p1bXAKCgl0c3QuYglpbl9sYXZhCglibmUucwkubm90X2Rvd24KCWJ0c3QJIzAsZDEKCWJuZS5zCS5ub3RfdXAKCW1vdmUJIzEsd2Fsa2VyX2RpcgoJbW92ZQkjJiMwMzY7MTIsc2NyX3NwZAoubm90X3VwCglidHN0CSMxLGQxCglibmUucwkubm90X2Rvd24KCW1vdmUJIy0xLHdhbGtlcl9kaXIKCW1vdmUJIy0mIzAzNjsxMixzY3Jfc3BkCi5ub3RfZG93bgoKLndlX2FyZV93YXJwaW5nCgltb3ZlCXdhbGtlcl9kaXIsZDMKCWJ0c3QJIzAsZ2FtZV9kZWwrMQoJYmVxLnMJLndhbGsyCgltb3ZlcQkjMCxkMwoud2FsazIJYWRkCWQzLHdhbGtlcl9jb3VudAoJYW5kCSM3LHdhbGtlcl9jb3VudAoKLmFsbF9kb25lCglydHMKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpjb3B0ZXJfY3RybAoJdHN0LmIJY3RsX29mZgoJYmVxLnMJLmN0bDEKCW1vdmUuYgljdGxfb2ZmMixkMQoJYnJhLnMJLmN0bDIKLmN0bDEKCW1vdmUuYglqb3lfc3BjMSxkMAoJYnRzdAlkMCxqb3kxCQk7KgoJYmVxCS5va2F5Ci5jdGwyCglidHN0CSMwLGQxCglibmUucwkubm90X3VwCgljbXAJIzYscGl0Y2hfYW5nCQk7NgoJYmdlLnMJLm9rYXkKCWFkZHEJIzIscGl0Y2hfYW5nCglicmEucwkub2theQoubm90X3VwCglidHN0CSMxLGQxCglibmUucwkubm90X2Rvd24KCWNtcAkjLTYscGl0Y2hfYW5nCQk7LTYKCWJsZS5zCS5va2F5CglzdWJxCSMyLHBpdGNoX2FuZwoJYnJhLnMJLm9rYXkKLm5vdF9kb3duCgl0c3QJcGl0Y2hfYW5nCgliZXEucwkub2theQoJYm1pLnMJLmFkZAouc3ViCglzdWJxCSMxLHBpdGNoX2FuZwoJYnJhLnMJLm9rYXkKLmFkZAoJYWRkcQkjMSxwaXRjaF9hbmcKLm9rYXkKCW1vdmUJcGl0Y2hfYW5nLGQyCgltb3ZlCWQyLGQwCglhc3IJIzEsZDAKCW5lZwlkMAoJbW92ZQlkMCxwaXRjaF9hbmcyCgoJdHN0CXdhcnBfY291bnQJCTtXQVJQU0hJUAoJYm5lLnMJLnNwX29rYXkKCgltb3ZlcQkjOCxkMwoJbW92ZQlkMSxjY3IKCWJjYy5zCS5pc184CglidmMucwkuaXNfOAoJbW92ZXEJIzQsZDMKLmlzXzgKCWFkZAlkMixkMgoJYWRkCWQyLGQyCglhZGQJZDIsZDIKCXRzdAljcHVfcnNwZAoJYm5lLnMJLmJvc3MwM2FjdAoJYWRkCWQyLGQyCi5ib3NzMDNhY3QKCW1vdmUJc2NyX3NwZCxkMAoJY21wCWQyLGQwCgliZXEucwkuc3Bfb2theQoJYmdlLnMJLnNwX3N1Ygouc3BfYWRkCglhZGQJZDMsc2NyX3NwZAoJYnJhLnMJLnNwX29rYXkKLnNwX3N1YgoJc3ViCWQzLHNjcl9zcGQKLnNwX29rYXkKCXRzdAl4c3BlZWQKCWJlcS5zCS54cGJkCglibWkucwkueHBiYWRkCi54cGJzdWIJc3ViCSMmIzAzNjs4MCx4c3BlZWQKCWJyYS5zCS54cGJkCi54cGJhZGQJYWRkCSMmIzAzNjs4MCx4c3BlZWQKLnhwYmQKCW1vdmUuYglqb3lfc3BjMSxkMAoJYnRzdAlkMCxqb3kxCglibmUucwkubm9feG1vdmUKCglidHN0CSMyLGQxCglibmUucwkueG5sCgljbXAJIyYjMDM2OzQwMCx4c3BlZWQKCWJnZS5zCS54bnIKCWFkZAkjJiMwMzY7MTAwLHhzcGVlZAoJYnJhLnMJLnhucgoueG5sCglidHN0CSMzLGQxCglibmUucwkueG5yCgljbXAJIy0mIzAzNjs0MDAseHNwZWVkCglibGUucwkueG5yCglzdWIJIyYjMDM2OzEwMCx4c3BlZWQKLnhucgoJYnJhCS5ucgoubm9feG1vdmUKCglidHN0CSMyLGQxCglibmUucwkubmwKCgljbXAJIyYjMDM2OzQwMCxwYmFuawoJYmdlLnMJLnBiZAoJYWRkCSMmIzAzNjsxMDAscGJhbmsKCWJyYS5zCS5wYmQKLm5sCglidHN0CSMzLGQxCglibmUucwkubnIKCgljbXAJIy0mIzAzNjs0MDAscGJhbmsKCWJsZS5zCS5wYmQKCXN1YgkjJiMwMzY7MTAwLHBiYW5rCglicmEucwkucGJkCi5ucgoJdHN0CXBiYW5rCgliZXEucwkucGJkCglibWkucwkucGJhZGQKLnBic3ViCXN1YgkjJiMwMzY7ODAscGJhbmsKCWJyYS5zCS5wYmQKLnBiYWRkCWFkZAkjJiMwMzY7ODAscGJhbmsKLnBiZAoJdHN0LmIJY3RsX29mZgoJYm5lLnMJLm5vdF9jZAoJbW92ZS5iCWpveV9zcGMxLGQwCglidHN0CWQwLGpveTEKCWJuZQkubm90X2NkCglidHN0CSMwLGQxCglibmUJLm5vdF9jdQoKCWNtcAkjNix5c3BkCgliZ2UucwkuY3VkX29rYXkKCWFkZHEJIzIseXNwZAoJYnJhLnMJLmN1ZF9va2F5Ci5ub3RfY3UJCglidHN0CSMxLGQxCglibmUJLm5vdF9jZAoJY21wCSMtNix5c3BkCglibGUucwkuY3VkX29rYXkKCXN1YnEJIzIseXNwZAoJYnJhLnMJLmN1ZF9va2F5Ci5ub3RfY2QKCXRzdAl5c3BkCgliZXEucwkuY3VkX29rYXkKCWJtaS5zCS5jdWRfYWRkCi5jdWRfc3ViCglzdWJxCSMxLHlzcGQKCWJyYS5zCS5jdWRfb2theQouY3VkX2FkZAoJYWRkcQkjMSx5c3BkCi5jdWRfb2theQoJbW92ZQl5c3BkLGQwCglhZGQJcGxheWVyX3ksZDAKCWNtcAltaW5fcGxheWVyX3ksZDAKCWJnZS5zCS5jdWRfMQoJbW92ZQltaW5fcGxheWVyX3ksZDAKLmN1ZF8xCWNtcAkjMTEyLTIsZDAKCWJsZS5zCS5jdWRfMgoJbW92ZQkjMTEyLTIsZDAKLmN1ZF8yCW1vdmUJZDAscGxheWVyX3kKCXJ0cwoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKc3RyaWtlcl9jdHJsCgl0c3QuYgljdGxfb2ZmCgliZXEucwkuY3RsMQoJbW92ZS5iCWN0bF9vZmYyLGQxCi5jdGwxCgltb3ZlCXBiYW5rLGQwCgoJYnRzdAkjMixkMQoJYm5lLnMJLm5sCgoJYWRkCSMmIzAzNjsxODAsZDAJOyYjMDM2OzEwMAoJY21wCSMmIzAzNjs0MDAsZDAKCWJsZS5zCS5wYmQKCW1vdmUJIyYjMDM2OzQwMCxkMAoJYnJhLnMJLnBiZAoubmwKCWJ0c3QJIzMsZDEKCWJuZS5zCS5ucgoKCXN1YgkjJiMwMzY7MTgwLGQwCTsmIzAzNjsxMDAKCWNtcAkjLSYjMDM2OzQwMCxkMAoJYmdlLnMJLnBiZAoJbW92ZQkjLSYjMDM2OzQwMCxkMAoJYnJhLnMJLnBiZAoubnIKCXRzdAlkMAoJYmVxLnMJLnBiZAoJYm1pLnMJLnBiYWRkCi5wYnN1YglzdWIJIyYjMDM2O2MwLGQwCQk7JiMwMzY7ODAKCWJwbC5zCS5wYmQKCW1vdmVxCSMwLGQwCglicmEucwkucGJkCi5wYmFkZAlhZGQJIyYjMDM2O2MwLGQwCQk7JiMwMzY7ODAKCWJtaS5zCS5wYmQKCW1vdmVxCSMwLGQwCi5wYmQJbW92ZQlkMCxwYmFuawoKCUFTUgkjNCszKzEsRDAJCTs0KzMKCgltb3ZlCWQwLGQyCTsKCWFzcgkjMSxkMgk7CglhZGQJZDIsZDAJOwoKCU5FRwlEMAoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCglBREQJZDAscGxheWVyX3gKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoJY21wCSMtJiMwMzY7NjUscGxheWVyX3gKCWJnZS5zCS54ZDEKCW1vdmUJIy0mIzAzNjs2NSxwbGF5ZXJfeAoueGQxCWNtcAkjJiMwMzY7NWIscGxheWVyX3gKCWJsZS5zCS54ZDIKCW1vdmUJIyYjMDM2OzViLHBsYXllcl94Ci54ZDIKCW1vdmVxCSM4LGQyCgltb3ZlcQkjLTgsZDMKCgltb3ZlcQkjMCxkNQkJOwoKCW1vdmUJeXNwZCxkMAoJbW92ZS5iCWpveV9kbzEsZDQKCWJ0c3QJZDQsZDEKCWJuZS5zCS5uZAoJY21wCWQzLGQwCgliZXEucwkueWRvbmUKCXN1YnEJIzQsZDAJCTs0CglicmEucwkueWRvbmUKLm5kCgltb3ZlLmIJam95X3VwCglpbmNsdWRlCWNvbXNfZXF1LnMKCWluY2x1ZGUJb2JqX2VxdS5zCgpkY21wCW1hY3JvcwoJZGMudwkoJiMwOTI7MSkqNCwmIzA5MjsyCgpkdXAJbWFjcm9zCglkYy53CS0oKCYjMDkyOzEpKjQpLCYjMDkyOzIKCmR1cGYJbWFjcm9zCglkYy53CS0oKCgmIzA5MjsxKSo0KSsxKSwmIzA5MjsyCgpkaXZzCU1BQ1JPCioqCW1vdmUJI2RpdmlkZXJfdW5pdCxyMTQJO3VzZSBSMTQgYXMgcHRyIHRvIGRpdmlkZSB1bml0Cgltb3ZlCSYjMDkyOzEsKF9kX2pyLHIxNCkKCW1vdmUJJiMwOTI7MiwoX2RfaHJsMzIscjE0KQoJbW92ZQkoX2RfcnNyLHIxNCksJiMwOTI7MgoJRU5ETQoKKioqKioqKioqKioqKioqKioqKioqKioqKgoqIFNMQVZFIFdhaXQtVGFzayBMb29wLiAqCioqKioqKioqKioqKioqKioqKioqKioqKioKCmdhbWVfc2xhdmVfc3RhcnQ6Cglub3AKLmdhbWVfc2xhdmVfbG9vcDoKCW1vdmUJI2NvbXBvcnQ3LHIxCQk7Cgltb3ZlCSMwLHIwCQkJO2NsZWFyIFNMQVZFIGNvbnRyb2wgY29tcG9ydC4KCW1vdmUudwlyMCwocjEpCQkJOwoKLndhaXRfdGFza19sb29wOgoJUE9MSE9TVAoKCW1vdmUudwkocjEpLHIwCQkJOwoJY21wZXEJIzAscjAJCQk7d2FpdCBmb3IgdGFzay4KCWJ0CS53YWl0X3Rhc2tfbG9vcAkJOwoKCW1vdmUJI3Rhc2tfYWRkcmVzcyt0aCxyMAoJbW92ZQkoMTUqNCxyMCkscjEKCW1vdmUJcjEsZ2JyCgltb3ZlCSgxKjQscjApLHIxCgltb3ZlCSgyKjQscjApLHIyCgltb3ZlCSgzKjQscjApLHIzCgltb3ZlCSg0KjQscjApLHI0Cgltb3ZlCSg1KjQscjApLHI1Cgltb3ZlCSg2KjQscjApLHI2IAkJOwoJbW92ZQkoNyo0LHIwKSxyNwkJO3NldHVwIFNMQVZFIHIxLXIxNCAmYW1wOyBHQlIuCgltb3ZlCSg4KjQscjApLHI4CQk7Cgltb3ZlCSg5KjQscjApLHI5Cgltb3ZlCSgxMCo0LHIwKSxyMTAKCW1vdmUJKDExKjQscjApLHIxMQoJbW92ZQkoMTIqNCxyMCkscjEyCgltb3ZlCSgxMyo0LHIwKSxyMTMKCW1vdmUJKDE0KjQscjApLHIxNAoJbW92ZQkocjApLHIwCgoJbm9wCQkJCTsKCWpzcgkocjApCQkJO2NhbGwgdGFzayBhZGRyZXNzLgoJbm9wCQkJCTsKCglicmEJLmdhbWVfc2xhdmVfbG9vcAk7cmV0dXJuIHRvIHRhc2sgbG9vcC4KCW5vcAoKCWNub3AJMCw0CQkJO2FsaWduIHRvIGxvbmd3b3JkIGJvdW5kcnkuCgp0YXNrX2FkZHJlc3M6CglkYy5sCTAJCQk7c2xhdmUgdGFzayBhZGRyZXNzLgp0YXNrX3JlZ2lzdGVyczoKCWRjLmwJMCwwLDAsMCwwLDAsMAkJO3IxLXI3LgoJZGMubAkwLDAsMCwwLDAsMCwwCQk7cjgtcjE0LgoJZGMubAkwCQkJO0dCUi4KCglsaXRzCgoqKioqKioqKioqKioqKioqKioqKioqKioqKgoqIE1BU1RFUiBXYWl0LVRhc2sgTG9vcC4gKgoqKioqKioqKioqKioqKioqKioqKioqKioqKgoKZ2FtZV9tYXN0ZXJfc3RhcnQ6CjsJbWNvbQkmIzAzNjswMDBjCjsJbW92ZQkjY29tcG9ydDUscjEJCTsKOwltb3ZlLncJKHIxKSxyMAkJCTtyZWFkIE1lZ2Fkcml2ZSBQQUwvTlRTQyBmbGFnLgo7CW1vdmUJI3BhbF9udHNjLHIxCQk7CjsJbW92ZS53CXIwLChyMSkKCgltb3ZlCSNfc3lzcmVnLHIxCQk7YWxsb3cgU0gyIHRvIGFjY2VzcyBWRFAgKwoJbW92ZS53CSMmIzAzNjs4MDA4K1BXTUlSUV9PTixyMAkJO2VuYWJsZSBWQkwgaW50ZXJydXB0cy4KCW1vdmUudwlyMCwocjEpCQkJOwoKCW1vdmUudwlyMCwodmludGNscixyMSkJCTtjbGVhciBWSU5UIEFDSyByZWdpc3Rlci4KCW1vdmUudwlyMCwodmludGNscixyMSkJCTsKCgltb3ZlCSNfZnJ0LHIxCgltb3ZlCSMwLHIwCgltb3ZlLmIJcjAsKF90aWVyLHIxKQoJbW92ZQkjJiMwMzY7YzIscjAKCW1vdmUuYglyMCwoX3RvY3IscjEpCgltb3ZlCSMwLHIwCgltb3ZlLmIJcjAsKF9vY3JfaCxyMSkJCTsKCW1vdmUJIzEscjAJCQk7c2V0IGZyZWUgcnVuIHRpbWVyLgoJbW92ZS5iCXIwLChfb2NyX2wscjEpCQk7Cgltb3ZlCSMwLHIwCgltb3ZlLmIJcjAsKF90Y3IscjEpCgltb3ZlCSMxLHIwCgltb3ZlLmIJcjAsKF90Y3NyLHIxKQoJbW92ZQkjMCxyMAoJbW92ZS5iCXIwLChfZnJjX2wscjEpCgltb3ZlLmIJcjAsKF9mcmNfaCxyMSkKCgltb3ZlCSNpbml0UFdNLHIwCglqc3IJKHIwKQoJbm9wCgoJbW92ZQkjJiMwMzY7MjAscjAJCQk7U0ggaW50ZXJydXB0IGVuYWJsZS4KCW1vdmUJcjAsc3IJCQk7CgoJYnNyCXNldHVwX3NjcmVlbgkJO2NsZWFyIGJvdGggc2NyZWVucwoJbm9wCgoJTU9WRQkjQ09NUE9SVDYsUjAJCTsKCU1PVkUJIyYjMDM2OzgwMDAsUjEJCTtFTkFCTEUgRkFERS4KCU1PVkUuVwlSMSwoUjApCQkJOwoubG9vcAoJbW92ZQkjY29tcG9ydDAscjEJCTtnZXQgY29tbWFuZAoJbW92ZS53CShyMSkscjAKCWNtcGVxCSMwLHIwCglidAkubG9vcAoKCW1vdmUudwkocjEpLHIzCQkJO2FsbG93IHBvcnQgdG8gc2V0dGxlCgljbXBlcQlyMyxyMAoJYmYJLmxvb3AKCgltb3ZlCSNjb21fbGFzdCxyMwoJY21waGkJcjMscjAKCWJ0CS5sb29wCgoJbW92ZQkjLmp1bXBfdGFiLTQscjIKCWFkZAlyMCxyMgoJbW92ZQkocjIpLHIwCgoJanNyCShyMCkJCQk7Li4uYW5kIGNhbGwgaXQKCW5vcAoKCW1vdmUJI2NvbXBvcnQwLHIxCQk7Z2V0IGNvbW1hbmQKCW1vdmUJIzAscjMJCQk7Y2xlYXIgY29tbWFuZCBwb3J0Cgltb3ZlLncJcjMsKHIxKQoKCWJyYQkubG9vcAoJbm9wCgoJY25vcAkwLDQKCglkYy5sCTAKLmp1bXBfdGFiCglkYy5sCXdhaXRfdmJsCglkYy5sCWZsaXBfc2NyZWVuCglkYy5sCWNsZWFyX3NjcmVlbgoJZGMubAlwbG90X3NjX3Nwcml0ZQoJZGMubAlwbG90X3BpeGVsCglkYy5sCXBsb3Rfc3ByaXRlCglkYy5sCWRlY29tcHJlc3NfbGV2ZWwKCWRjLmwJZGVjb21wcmVzc18zNjBfbGV2ZWwKCWRjLmwJZHJhd18zNjBfZmxvb3IKCWRjLmwJYWxsb2NfcmVzZXQKCWRjLmwJUGxheVBXTQoJZGMubAlyb3RhdGVfcGxheWVyCgogCWxpdHMKCnBhbF9udHNjCWRjLncJMAkJCTtQQUwvTlRTQyBmbGFnIGZyb20gTWVnYWRyaXZlLgoKKioqKioqKioqKioqKioqKioqKioqKioqCiogUGxvdCBwb2ludCB0byBzY3JlZW4gKgoqKioqKioqKioqKioqKioqKioqKioqKioKCgljbm9wCTAsNAoKcGxvdF9waXhlbAoJbW92ZQkjY29tcG9ydDEscjAKCW1vdmUudwkocjApKyxyMQkJO2dldCB4Cgltb3ZlLncJKHIwKSsscjIJCTtnZXQgeQoJbW92ZS53CShyMCkrLHIzCQk7Z2V0IGNvbG91cgoKCW1vdmUudwkjMjI0LHI0CgljbXBocwlyNCxyMgoJYnQJLmV4aXQKCgltb3ZlLncJIzMyMCxyNAoJbXVscwlyNCxyMgoJY21waHMJcjQscjEKCWJ0CS5leGl0CgoJbW92ZQkjc2NyZWVuLHIwCgltb3ZlCW1hY2wscjIKCWFkZAlyMSxyMAoJYWRkCXIyLHIwCgltb3ZlLmIJcjMsKHIwKQouZXhpdAoJcnRzCglub3AKCglsaXRzCgoqKioqKioqKioqKioqKioqKioqKioqKioqCiogRHJhdyBzcHJpdGUgdG8gc2NyZWVuICoKKioqKioqKioqKioqKioqKioqKioqKioqKgoKCWNub3AJMCw0CgpwbG90X3Nwcml0ZQoJbW92ZQkjY29tcG9ydDEscjAKCW1vdmUudwkocjApKyxyMgkJO2dldCB4Cgltb3ZlLncJKHIwKSsscjMJCTtnZXQgeQoJbW92ZS53CShyMCkscjgJCQk7Z2V0IGRlZgoKCXNobGwyCXI4Cgltb3ZlCSNmcmFtZV90YWJsZSxyMAoJYWRkCXI4LHIwCgltb3ZlCShyMCkscjAKCgljbXBlcQkjMCxyMAkJO2ZyYW1lIHVudXNlZD8KCWJmCS5za2lwCgltb3ZlCSNzcF9yaW5nY2Fubm9uLHIwCjsuZXhpdAo7CXJ0cwo7CW5vcAouc2tpcAoJbW92ZS53CShyMCkrLHI0CQk7Z2V0IHhzaXplCgltb3ZlLncJKHIwKSsscjUJCTtnZXQgeXNpemUKCWFkZAkjNCxyMAoKCWJyYQlkcmF3X3Nwcml0ZQoJbW92ZQlyMCxyMQkJCTtSMSA9IHNvdXJjZSBkYXRhCgoqKioqKioqKioqKioqKioqKioqKioqKioqCiogRHJhdyBzcHJpdGUgdG8gc2NyZWVuICoKKioqKioqKioqKioqKioqKioqKioqKioqKgoKCWNub3AJMCw0CgpwbG90X3NjX3Nwcml0ZQoJbW92ZQkjY29tcG9ydDEscjAKCW1vdmUudwkocjApKyxyMgkJO2dldCB4Cgltb3ZlLncJKHIwKSsscjMJCTtnZXQgeQoJbW92ZS53CShyMCkrLHI2CQk7Z2V0IHNjYWxlCgltb3ZlLncJKHIwKSxyOAkJCTtnZXQgZGVmCgoJc2hsbDIJcjgKCW1vdmUJI2ZyYW1lX3RhYmxlLHIwCglhZGQJcjgscjAKCW1vdmUJKHIwKSxyMAoKCWNtcGVxCSMwLHIwCQk7ZnJhbWUgdW51c2VkPwoJYmYJLnNraXAKCW1vdmUJI3NwX3JpbmdjYW5ub24scjAKOy5leGl0CjsJcnRzCjsJbm9wCi5za2lwCgltb3ZlCSMxLHIxMQk7ZmxpcCBmbGFnIGludG8gUjExICgwID0gdW5mbGlwcGVkICwgMSA9IGZsaXBwZWQpCglhbmQJcjAscjExCTsKCXN1YglyMTEscjAJOwoJCgltb3ZlLncJKHIwKSsscjQJCTtnZXQgeHNpemUKCW1vdmUudwkocjApKyxyNQkJO2dldCB5c2l6ZQoJbW92ZS53CShyMCkrLHI4CQk7Z2V0IHgtb2ZmCgltb3ZlLncJKHIwKSsscjkJCTtnZXQgeS1vZmYKCglzaGxsOAlyOAoJc2hsbDgJcjkKCXNobGwyCXI4CglzaGxsMglyOQoJc2hsbAlyOAoJc2hsbAlyOQoKCW1vdmUJcjAscjEJCQk7UjEgPSBzb3VyY2UgZGF0YQoJbW92ZQlyMTEscjAKCgltb3ZlCSNkaXZpZGVyX3VuaXQscjEwCgoJbW92ZQlyNiwoX2RfanIscjEwKQoJbW92ZQlyOCwoX2RfaHJsMzIscjEwKQoJbW92ZQkoX2RfcnNyLHIxMCkscjgKCWNtcGVxCSMwLHIwCglidAkuMgoJbmVnCXI4LHI4Ci4yCglzdWIJcjgscjIKCgltb3ZlCXI2LChfZF9qcixyMTApCQk7aXMgdGhpcyB0cmFzaGVkPz8KCW1vdmUJcjksKF9kX2hybDMyLHIxMCkKCW1vdmUJKF9kX3JzcixyMTApLHI5CglzdWIJcjkscjMKCQoJc2hsbDIJcjYKCXNobGwyCXI2CglzaGxsCXI2CgoJY21wZXEJIzAscjAKCWJmL3MJLjEKCW1vdmUJcjYscjcJCQk7eXNjYWxlID0geHNjYWxlCgoJYnJhCXNjYWxlX3Nwcml0ZQoJbm9wCi4xCglicmEJc2NhbGVfZmxpcF9zcHJpdGUKCW5vcAoKCWxpdHMKCioqKioqKioqKioqKioqKioqKioqKgoqIERNQUMgY2xlYXIgc2NyZWVuICoKKioqKioqKioqKioqKioqKioqKioqCgoJY25vcAkwLDQKCmRtYWNfY2xlYXIKCW1vdmUJI19kbWFzb3VyY2UxLHI4CTtwb2ludCB0byBETUFDLgoKCW1vdmUJIzAscjMKCW1vdmUudwlyMywocjEpCgoJbW92ZQkoMTIscjgpLHIwCTtyZWFkIChjbGVhciBURSBmbGFnKQoKCW1vdmUJIzAscjAJCTtzdG9wIERNQS4KCW1vdmUJcjAsKDEyLHI4KQk7CgoJbW92ZQkjMDEscjAJO2VuYWJsZSBETUEuCgltb3ZlCXIwLCgzMixyOCkJOwoKCW1vdmUJcjEsKHI4KQkJO3N0b3JlIERNQSBzb3VyY2UgYWRkcmVzcy4KCQkKCW1vdmUJcjEsKDQscjgpCTtzdG9yZSBETUEgZGVzdGluYXRpb24gYWRkcmVzcy4KCQkKCW1vdmUJcjIscjAJCTtzdG9yZSBETUEgc2l6ZS4KCW1vdmUJcjAsKDgscjgpCTsKCgltb3ZlCSMlMDEwMDAxMTAwMDAwMDAwMSxyMAk7c3RhcnQgRE1BLgoJbW92ZQlyMCwoMTIscjgpCQk7CgoJcnRzCglub3AKCglsaXRzCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogQ2xlYXIgU2NyZWVuIC0gMzYwIHN0YWdlICoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKY2xlYXJfc2NyZWVuXzM2MAoJc3RhY2sKCglzd2FpdAoKCW1vdmUJI3Rhc2tfYWRkcmVzcyt0aCxyNQk7cG9pbnQgdG8gU0xBVkUgdGFzayBzZXR1cC4KCgltb3ZlCSNzY3JlZW4rKDEzNioxNjApLHIxCgltb3ZlCXIxLCgxKjQscjUpCgoJbW92ZQkjLmNsZWFyLHIwCgltb3ZlCXIwLChyNSkKCW1vdmUJI2NvbXBvcnQ3LHIxNAoJbW92ZQkjMSxyMAoJbW92ZS53CXIwLChyMTQpCgoJYnNyCS5jbGVhcgoJbW92ZQkjc2NyZWVuLHIxCgoJdW5zdGFjawoJcnRzCglub3AKCgljbm9wCTAsNAoKLmNsZWFyCgltb3ZlCSMoMTM2KjMyMCkvNCxyMAoJbW92ZQkjMCxyMgouY2xyX2xvb3A6Cgltb3ZlLncJcjIsKHIxKQoJZHQJcjAKCWJmL3MJLmNscl9sb29wCglhZGQJIzIscjEKCglydHMKCW5vcAoKCWNub3AJMCw0CgoqKioqKioqKioqKioqKioqCiogQ2xlYXIgU2NyZWVuICoKKioqKioqKioqKioqKioqKgoKY2xlYXJfc2NyZWVuCglzdGFjawoKCXN3YWl0CgoJbW92ZQkjdGFza19hZGRyZXNzK3RoLHI1CTtwb2ludCB0byBTTEFWRSB0YXNrIHNldHVwLgoKCW1vdmUJI3NjcmVlbisoMjI0KjE2MCkscjEKCW1vdmUJcjEsKDEqNCxyNSkKCgltb3ZlCSMuY2xlYXIscjAKCW1vdmUJcjAsKHI1KQoJbW92ZQkjY29tcG9ydDcscjE0Cgltb3ZlCSMxLHIwCgltb3ZlLncJcjAsKHIxNCkKCglic3IJLmNsZWFyCgltb3ZlCSNzY3JlZW4scjEKCglzd2FpdAoKCXVuc3RhY2sKCXJ0cwoJbm9wCgoJY25vcAkwLDQKCi5jbGVhcgoJbW92ZQkjKDIyNCozMjApLzQscjAKCW1vdmUJIzAscjIKLmNscl9sb29wOgoJbW92ZS53CXIyLChyMSkKCWR0CXIwCgliZi9zCS5jbHJfbG9vcAoJYWRkCSMyLHIxCgoJcnRzCglub3AKCglsaXRzCgp3YWl0X3NsYXZlCglwdXNoCXIxCgoJbW92ZQkjY29tcG9ydDcscjEJO3BvaW50IHRvIHNsYXZlIGNvbnRyb2wgY29tcG9ydC4KLndhaXRfc2xhdmUKCW1vdmUudwkocjEpLHIwCQk7CgljbXBlcQkjMCxyMAkJO3dhaXQgc2xhdmUuCgliZgkud2FpdF9zbGF2ZQk7CglydHMKCXBvcAlyMQoKc3RhcnRfc2xhdmUKCXB1c2gJcjEKCW1vdmUJcjAsKHI1KQoJbW92ZQkjY29tcG9ydDcscjEKCW1vdmUJIzEscjAKCW1vdmUudwlyMCwocjEpCglydHMKCXBvcAlyMQoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqIENsZWFyIFNjcmVlbiArIFNldHVwIExpbmUtVGFibGVzLiAqCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCnNldHVwX3NjcmVlbjoKCXN0YWNrCgoJbW92ZQkjZmJfY29udF9yZWcscjE0CgoJbW92ZQkjYm1fbW9kZV9yZWcrMSxyMAk7Cgltb3ZlLncJIyUxMDAwMDAwMSxyMQkJO2J5dGUgcGVyIHBpeGVsIG1vZGUuCgltb3ZlLmIJcjEsKHIwKQkJCTsKCgltb3ZlCSMmIzAzNjs4MDAwLHIxCgltb3ZlCSNwYWxldHRlLHIwCgltb3ZlLncJcjEsKHIwKQoKCW1vdmUJIzEscjEzCglic3IJLmNsZWFyX2ZsaXAJCTsKCW5vcAkJCQk7Y2xlYXIgYm90aCBmbGlwc2NyZWVucy4KCW1vdmUJIzAscjEzCQkJOwoJYnNyCS5jbGVhcl9mbGlwCglub3AKCgl1bnN0YWNrCgoJcnRzCglub3AKCi5jbGVhcl9mbGlwCglzdGFjawoKCW1vdmUudwlyMTMsKHIxNCkJCTsKCWJzcgl3YWl0X3ZibAkJO3NlbGVjdCBmcmFtZSBidWZmZXIuCglub3AJCQkJOwoKCW1vdmUJI3NjcmVlbixyMAkJOwoJbW92ZQkjKDI0MCozMjApLzIscjEJCTtzZXR1cCBzY3JlZW4gY2xlYXIgbG9vcC4KCW1vdmUJIzAscjIJCQk7Ci5jbHJfbG9vcDoKCW1vdmUudwlyMiwocjApCQkJOwoJYWRkCSMyLHIwCQkJO2NsZWFyIHNjcmVlbiBidWZmZXIuCglkdAlyMQkJCTsKCWJmCS5jbHJfbG9vcAoKCW1vdmUJI2xpbmVfdGFibGUscjAJCTsKCW1vdmUudwkjJiMwMzY7MWUwLzIscjEJCTtzZXR1cCBsaW5lc3RhcnQgc2V0dXAgbG9vcC4KCW1vdmUudwkjMTYwLHIyCQkJOwoJbW92ZS53CSMyNDAscjMKLnNldF9saW5lX2xvb3A6Cgltb3ZlLncJcjEsKHIwKQkJCTt3cml0ZSBsaW5lc3RhcnQuCgoJYWRkCXIyLHIxCQkJOwoJYWRkCSMyLHIwCQkJO3NldHVwIGFsbCBsaW5lc3RhcnRzLgoJZHQJcjMJCQk7CgliZgkuc2V0X2xpbmVfbG9vcAoKCXVuc3RhY2sKCglydHMKCW5vcAoKCWxpdHMKCioqKioqKioqKioqKioqKioKKiBGbGlwIFNjcmVlbi4gKgoqKioqKioqKioqKioqKioqCgpmbGlwX3NjcmVlbjoKCW1vdmUJI2ZsaXBfZW5hYmxlK3RoLHIxCTtwb2ludCB0byBmbGlwIGZsYWcuCi53YWl0OgoJbW92ZS53CShyMSkscjAJCQk7CgljbXBlcQkjMCxyMAkJCTtidWZmZXIgZmxpcHMuCgliZgkud2FpdAkJCTsKCgltb3ZlCSMxLHIwCQkJO2ZsYWcgZmxpcC4KCW1vdmUudwlyMCwocjEpCQkJOwoKCXJ0cwoJbm9wCgoJbGl0cwoKKioqKioqKioqKioqKioqKioqKgoqIFdhaXQgZm9yIEEgVkJMLiAqCioqKioqKioqKioqKioqKioqKioKCndhaXRfdmJsOgoJbW92ZQkjdmJsX2NvdW50K3RoLHIxCTtzZXR1cCBWQkwgd2FpdCBsb29wLgoJbW92ZS53CShyMSkscjAJCQk7Ci5sb29wOgoJbW92ZS53CShyMSkscjIJCQk7CgljbXBlcQlyMCxyMgkJCTt3YWl0IGZvciBWQkxfQ09VTlQgdG8gY2hhbmdlLgoJYnQJLmxvb3AJCQk7CgoJcnRzCglub3AKCglsaXRzCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiBFbmFibGUsRGlzYWJsZSAmYW1wOyBTZXQgRmFkZSBMZXZlbC4gKgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCnNldF9mYWRlOgoJcHVzaAlyMAoKCW1vdmUJI2NvbXBvcnQ2LHIwCQk7d3JpdGUgZmFkZSB2YWx1ZSB0byBjb21wb3J0LgoJbW92ZS53CXI0LChyMCkJCQk7CgoJcG9wCXIwCgoJcnRzCglub3AKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogU2V0dXAgUG9pbnRlciB0byBQYWxldHRlLiAqCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgpzZXRfcGFsZXR0ZToKCW1vdmUJI3BhbF9wdHIscjAJCTtzZXR1cCBwb2ludGVyIGZvciBWQkwuCgltb3ZlCXI0LChyMCkJCQk7CgoJcnRzCglub3AKCioqKioqKioqKioqKioqKioqKioqKioqKioKKiBNYXN0ZXIgVkJMIEludGVycnVwdC4gKgoqKioqKioqKioqKioqKioqKioqKioqKioqCgp2Ymxhbms6Cgltb3ZlCSN2YmxfY291bnQrdGgscjEJOwoJbW92ZS53CShyMSkscjAJCQk7dXBkYXRlIFZCTCBjb3VudC4KCWFkZAkjMSxyMAkJCTsKCW1vdmUudwlyMCwocjEpCgoJbW92ZQkjZmxpcF9lbmFibGUrdGgscjEJOwoJbW92ZS53CShyMSkscjAJCQk7ZmxpcCBzY3JlZW4/CgljbXBlcQkjMCxyMAkJCTsKCWJ0CS5ub19mbGlwCgoJbW92ZQkjMCxyMAkJCTtmbGFnIHNjcmVlbiBmbGlwcGVkLgoJbW92ZS53CXIwLChyMSkJCQk7CgoJbW92ZQkjZmJfY29udF9yZWcrMSxyMQk7Cgltb3ZlLmIJKHIxKSxyMAkJCTtmbGlwIFZEUCBiYW5rLgoJbm90CXIwLHIwCQkJOwoJbW92ZS5iCXIwLChyMSkKLm5vX2ZsaXA6Cgltb3ZlCSNjb21wb3J0NixyMAkJOwoJbW92ZS53CShyMCkscjAJCQk7ZmFkZSBzY3JlZW4/CgljbXBweglyMAkJCTsKCWJ0CS5ub19mYWRlCgoJcHVzaAlyMgoJcHVzaAlyMwoJcHVzaAlyNAoJcHVzaAlyNQoJcHVzaAlyNgoJcHVzaAlyNwoJcHVzaAlyOAoJcHVzaAlyOQoJcHVzaAlyMTAKCXB1c2gJcjExCgoJbW92ZQlyMCxyNgkJCTtjb3B5IGZhZGUgdmFsdWUuCgoJbW92ZQkjZ2FtZV9wYWwrMixyMAkJOwoJbW92ZQkjcGFsZXR0ZSsyLHIxCQk7c2V0dXAgcGFsZXR0ZSBmYWRlIGxvb3AuCgltb3ZlCSMyNTYtMSxyMgkJOwoKCW1vdmUJIzAwMDAwMDAwMTExMTEscjMJOwoJbW92ZQkjMDAwMTExMTEwMDAwMCxyNAk7c2V0dXAgcGFsZXR0ZSBmYWRlIG1hc2tzLgoJbW92ZQkjJTExMTExMDAwMDAwMDAwMCxyNQk7CgoJYW5kCXIzLHI2CQkJO21hc2sgb3V0IGZhZGUgdmFsdWUgKDAtMzEpLgoKCW1vdmUJcjYscjcKCXNobGwyCXI3CglzaGxsMglyNwkJCTsKCXNobGwJcjcJCQk7c2V0dXAgcGFsZXR0ZSBzdWJ0cmFjdG9ycy4KCW1vdmUJcjYscjgJCQk7CglzaGxsOAlyOAoJc2hsbDIJcjgKLmZhZGVfcGFsX2xvb3A6Cgltb3ZlLncJKHIwKSsscjkJCTsKCW1vdmUJcjkscjEwCQkJO3JlYWQgUkdCIHZhbHVlLgoJbW92ZQlyOSxyMTEJCQk7CgoJYW5kCXIzLHI5CglzdWIJcjYscjkJCQk7CgljbXBweglyOQkJCTtyZWR1Y2UgYmx1ZSBjb21wb25hbnQuCglidAkubm9fYmx1ZQkJOwoJbW92ZQkjMCxyOQoubm9fYmx1ZToKCWFuZAlyNCxyMTAKCXN1YglyNyxyMTAJCQk7CgljbXBweglyMTAJCQk7cmVkdWNlIGdyZWVuIGNvbXBvbmFudC4KCWJ0CS5ub19ncmVlbgkJOwoJbW92ZQkjMCxyMTAKLm5vX2dyZWVuOgoJYW5kCXI1LHIxMQoJc3ViCXI4LHIxMQkJCTsKCWNtcHB6CXIxMQkJCTtyZWR1Y2UgcmVkIGNvbXBvbmFudC4KCWJ0CS5ub19yZWQJCQk7Cgltb3ZlCSMwLHIxMQoubm9fcmVkOgoJb3IJcjEwLHI5CQkJOwoJb3IJcjExLHI5CQkJO3dyaXRlIFJHQiB2YWx1ZS4KCW1vdmUudwlyOSwocjEpCQkJOwoKCWR0CXIyCQkJOwoJYmYvcwkuZmFkZV9wYWxfbG9vcAkJO2ZhZGUgd2hvbGUgcGFsZXR0ZS4KCWFkZAkjMixyMQkJCTsKCglwb3AJcjExCglwb3AJcjEwCglwb3AJcjkKCXBvcAlyOAoJcG9wCXI3Cglwb3AJcjYKCXBvcAlyNQoJcG9wCXI0Cglwb3AJcjMKCXBvcAlyMgoubm9fZmFkZToKCXB1c2gJcjIKCW1vdmUudwkjKCYjMDM2OzBGJmx0OyZsdDsxMCkrKCYjMDM2OzE3Jmx0OyZsdDs1KSxyMgoJbW92ZQkjdmJsX2NvdW50K3RoLHIxCgltb3ZlLncJKHIxKSxyMAoJdHN0CSMxLHIwCglidAkuc2tpcAoJbW92ZQkjMCxyMgouc2tpcAltb3ZlCSNlbmdpbmVfZ2xvdyxyMAoJbW92ZS53CShyMCkscjEKCXhvcglyMixyMQoJbW92ZS53CXIxLChyMCkKCW1vdmUJI3BhbGV0dGUrKDE5MioyKSxyMAoJbW92ZS53CXIxLChyMCkKCXBvcAlyMgoKCVBPTEhPU1QKCglydHMKCW5vcAoKCWxpdHMKCgljbm9wCTAsNAoKZmxvb3JfbWFwCWRjLmwJMApmbG9vcl9ibG9ja3MJZGMubAkwCm1hcF9sb29rdXAJZGMubAkwIDsxMjgqOCoyID0gOTAgYmxvY2tzLDggcm90YXRpb25zLDIgbG9uZ3dvcmRzIGVhY2guCnR2Yl90YWJsZQlkYy5sCTAgO3lzaXplKjQKCnZjbnQJCWRjLmwJJiMwMzY7ZmYwMApzY3JfcHRyCQlkYy5sCXNjcmVlbgpwYWxfcHRyCQlkYy5sCWdhbWVfcGFsKzIKYWxsb2NfcHRyMglkYy5sCTAKCnZibF9jb3VudAlkYy53CTAKZmxpcF9lbmFibGUJZGMudwkwCmVuZ2luZV9nbG93CWRjLncJKCYjMDM2OzFGJmx0OyZsdDsxMCkrKCYjMDM2OzFGJmx0OyZsdDs1KQoKc2hpcDFfcGFsCWluY2JpbglzcHJpdGVzJiMwOTI7c2hpcDEmIzA5MjtzaGlwLnBhbApzaGlwMl9wYWwJaW5jYmluCXNwcml0ZXMmIzA5MjtzaGlwMiYjMDkyO3NoaXAyLnBhbAoKZ2FtZV9wYWwKCWluY2JpbglwYW5lbC5wYWwKCWluY2JpbglzcHJpdGVzJiMwOTI7c2hpcDImIzA5MjtzaGlwMi5wYWwKZ2FtZTJfcGFsCglpbmNiaW4JbGV2ZWwwMi5wYWwKCWluY2JpbglzcHJpdGUucGFsCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCglpbmNsdWRlCXNwcml0ZS5zaDIKCWluY2x1ZGUJZmxvb3Iuc2gyCglpbmNsdWRlCXB3bS5zaDIKCWluY2x1ZGUJcm90c3ByLnNoMgoKCWNub3AJMCw0CgpmcmFtZV90YWJsZQoJZGMubAlzcF9wbF9zaGlwMDAKCWRjLmwJc3BfcGxfc2hpcDAxCglkYy5sCXNwX3BsX3NoaXAwMgoJZGMubAlzcF9wbF9zaGlwMDMKCWRjLmwJc3BfcGxfc2hpcDA0CglkYy5sCXNwX3BsX3NoaXAwNQoJZGMubAlzcF9wbF9zaGlwMDYKCWRjLmwJc3BfcGxfc2hpcDA3CglkYy5sCXNwX3BsX3NoaXAwOAoJZGMubAlzcF9wbF9zaGlwMDkKCWRjLmwJc3BfcGxfc2hpcDEwCglkYy5sCXNwX3BsX3NoaXAxMQoJZGMubAlzcF9wbF9zaGlwMTIKCWRjLmwJc3BfcGxfc2hpcDEzCglkYy5sCXNwX3BsX3NoaXAxNAoJZGMubAlzcF9wbF9zaGlwMDUrMQoJZGMubAlzcF9wbF9zaGlwMDYrMQoJZGMubAlzcF9wbF9zaGlwMDcrMQoJZGMubAlzcF9wbF9zaGlwMDgrMQoJZGMubAlzcF9wbF9zaGlwMDkrMQoJZGMubAlzcF9wbF9zaGlwMDArMQoJZGMubAlzcF9wbF9zaGlwMDErMQoJZGMubAlzcF9wbF9zaGlwMDIrMQoJZGMubAlzcF9wbF9zaGlwMDMrMQoJZGMubAlzcF9wbF9zaGlwMDQrMQoKCWRzLmwJMjUKCglkYy5sCXNwX3RjX3NoaXAwOQoJZGMubAlzcF90Y19zaGlwMTAKCWRjLmwJc3BfdGNfc2hpcDExCglkYy5sCXNwX3RjX3NoaXAxMgoJZGMubAlzcF90Y19zaGlwMTMKCWRjLmwJc3BfdGNfc2hpcDE0CglkYy5sCXNwX3RjX3NoaXAxNQoJZGMubAlzcF90Y19zaGlwMTYKCWRjLmwJc3BfdGNfc2hpcDE3CglkYy5sCXNwX3RjX3NoaXAwMAoJZGMubAlzcF90Y19zaGlwMDEKCWRjLmwJc3BfdGNfc2hpcDAyCglkYy5sCXNwX3RjX3NoaXAwMwoJZGMubAlzcF90Y19zaGlwMDQKCWRjLmwJc3BfdGNfc2hpcDA1CglkYy5sCXNwX3RjX3NoaXAwNgoJZGMubAlzcF90Y19zaGlwMDcKCWRjLmwJc3BfdGNfc2hpcDA4CglkYy5sCXNwX3RjX3NoaXAwOSsxCglkYy5sCXNwX3RjX3NoaXAxMCsxCglkYy5sCXNwX3RjX3NoaXAxMSsxCglkYy5sCXNwX3RjX3NoaXAxMisxCglkYy5sCXNwX3RjX3NoaXAxMysxCglkYy5sCXNwX3RjX3NoaXAxNCsxCglkYy5sCXNwX3RjX3NoaXAxNSsxCglkYy5sCXNwX3RjX3NoaXAxNisxCglkYy5sCXNwX3RjX3NoaXAxNysxCgoJZGMubAlzcF9wbGFzbWFfc2hvdAk7b193ZWFwMQoKCWRzLmwJNAk7b19zcm9ja3MKCWRzLmwJNDIJO29fZW5lbXkxCgoJZGMubAlzcF9ncm9fZXhwMDAJO29fZ3JvX2V4cAoJZGMubAlzcF9ncm9fZXhwMDEKCWRjLmwJc3BfZ3JvX2V4cDAyCglkYy5sCXNwX2dyb19leHAwMwoJZGMubAlzcF9ncm9fZXhwMDQKCWRjLmwJc3BfZ3JvX2V4cDA1CglkYy5sCXNwX2dyb19leHAwNgoJZGMubAlzcF9ncm9fZXhwMDcKCWRjLmwJc3BfZ3JvX2V4cDA4CglkYy5sCXNwX2dyb19leHAwOQoJZGMubAlzcF9ncm9fZXhwMTAKCWRjLmwJc3BfZ3JvX2V4cDExCglkYy5sCXNwX2dyb19leHAxMgoJZGMubAlzcF9ncm9fZXhwMTMKCWRjLmwJc3BfZ3JvX2V4cDE0CgoJZGMubAlzcF9haXJfZXhwMDAJO29fYWlyX2V4cAoJZGMubAlzcF9haXJfZXhwMDEKCWRjLmwJc3BfYWlyX2V4cDAyCglkYy5sCXNwX2Fpcl9leHAwMwoJZGMubAlzcF9haXJfZXhwMDQKCWRjLmwJc3BfYWlyX2V4cDA1CglkYy5sCXNwX2Fpcl9leHAwNgoJZGMubAlzcF9haXJfZXhwMDcKCWRjLmwJc3BfYWlyX2V4cDA4CglkYy5sCXNwX2Fpcl9leHAwOQoKCWRtZV9kZWwKCWJuZS5zCS5uZ19yb2xsCglvcgkjJiMwMzY7MTAwMCxnYW1lX2RlbAoubmdfcm9sbDoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgltb3ZlCXNjcl9zcGQsZDAKCUlGCWxfdHlwZT0wCgltdWxzCSMmIzAzNjszMzM0LGQwCglzd2FwCWQwCglhZGQJc2NyX3NwZCxkMAoJRU5ESUYKCW1vdmUJZDAsc2NyX3NwZDIKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgl0c3QJc2hfaGl0X251bQoJYmVxLnMJLnNoX2hpdF9vawoJdHN0CWR5aW5nX2NudAoJYm5lLnMJLnNoX2hpdF9vawoJc3VicQkjMSxzaF9oaXRfZGVsCglicGwucwkuc2hfaGl0X29rCglzdWJxCSMxLHNoX2hpdF9udW0KCWpzcglkb19sb3dfc2hpZWxkX3NmeAoJbW92ZQkjc2hfZGVsLHNoX2hpdF9kZWwKLnNoX2hpdF9vazoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCglqc3IJcGlja3VwX3N5c3RlbQoJY21wCSMwNCxsZXZlbAoJYm5lLnMJLm5vdF9naWd1bgoJanNyCWdpZ3VuX2NoZWNrcwoubm90X2dpZ3VuOgoJanNyCWVuZF9mYWRlcgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCXNmCWhpdF9zZnhfYWxyZWFkeQoKCXRzdAl0b3JwZWRvX2NvdW50CgliZXEucwkubm9ybWFsX3BhbHMKCXN1YnEJIzEsdG9ycGVkb19jb3VudAoJbW92ZXEJIzEsZDAKCWFuZAl0b3JwZWRvX2NvdW50LGQwCgliZXEucwkubm9ybWFsX3BhbHMKCW1vdmUJIyYjMDM2Ozc3N2YsdG9ycF9mYWRlCglicmEucwkucDQKLm5vcm1hbF9wYWxzOgoJY2xyCXRvcnBfZmFkZQoucDQ6CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoJanNyCWxldmVsX2ZsaXBwZXIKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgljbHIJdG1wX3Nsb3QKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogRG8gYWxsIHByb2Nlc3NpbmcgaGVyZSYjMzM7ICoKKioqKioqKioqKioqKioqKioqKioqKioqKioqCglzdWJxCSMxLGdjbnQzCglicGwucwkuZ2NudDMKCW1vdmUJIzMtMSxnY250MwouZ2NudDM6CglzdWJxCSMxLGdjbnQ1CglicGwucwkuZ2NudDUKCW1vdmUJIzUtMSxnY250NQouZ2NudDU6CglzdWJxCSMxLGdjbnQ2CglicGwucwkuZ2NudDYKCW1vdmUJIzYtMSxnY250NgouZ2NudDY6CglzdWJxCSMxLGdjbnQ5CglicGwucwkuZ2NudDkKCW1vdmUJIzktMSxnY250OQouZ2NudDk6CglzdWJxCSMxLGdjbnQxMAoJYnBsLnMJLmdjbnQxMAoJbW92ZQkjOS0xLGdjbnQxMAouZ2NudDEwOgoJc3VicQkjMSxnY250MTIKCWJwbC5zCS5nY250MTIKCW1vdmUJIzEyLTEsZ2NudDEyCi5nY250MTI6CglzdWJxCSMxLGdjbnQxOQoJYnBsLnMJLmdjbnQxOQoJbW92ZQkjMTktMSxnY250MTkKLmdjbnQxOToKCXRzdAlkeWluZ19jbnQKCWJlcS5zCS5ub3RfZHlpbmcKCWpzcglkb19wbGF5ZXJfZHlpbmcKCWJyYS5zCS5ub19jdGwKLm5vdF9keWluZzoKCXRzdAlzdGFydHVwX2NvdW50CglibmUucwkubm9fY3RsCglqc3IJZG9fdl9jb250cm9sCi5ub19jdGw6Cgl0c3QuYglpc18zNjAKCWJlcS5zCS5ub18zNjAKCWpzcglzZXRfMzYwX21hcF9wb3MKLm5vXzM2MDoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCglic3IJbGV2ZWxfY29udHJvbAoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCWpzcgloYW5kbGVfcXNvdW5kcwoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCWpzcgljcmVhdGVfZW5lbWllcwoJanNyCWdldF9hbGxfZW5lbWllcwoJanNyCWdldF9hbGxfd2VhcG9ucwoJanNyCWRvX25leHRfd2VhcG9uCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqIENoZWNrIGZvciAybmQgcGxheWVyICoKKioqKioqKioqKioqKioqKioqKioqKioqCgl0c3QuYglwbHkybW9kZQoJYmVxLnMJLjFwbGF5ZXJfb25seQoJanNyCWRvX25leHRfd2VhcG9uXzIKCWpzcglwbGF5ZXJfMl9jb250cm9sCglqc3IJcGxheWVyXzJfd2VhcG9ucwoJYnJhLnMJLjJwbGF5ZXJfZG9uZQouMXBsYXllcl9vbmx5OgoJanNyCXBvd2VyX3RyYW5zZmVyXzFwCgljbXAJIzIsdmVoaWNsZQoJYm5lLnMJLm5vdF93YWxrZXIxCglqc3IJZG9fMXBfd2Fsa2VyX3RhcmdldHRpbmcKCgl0c3QJcG9wdGFyZwoJYmVxLnMJLm5vX3BvcHRhcmcKCXN1YnEJIzEscG9wdGFyZwoJbW92ZS5sCW10YXJnZXQsZDAKCWJlcS5zCS5ub19wb3B0YXJnCgltb3ZlLmwJZDAsYTYKCW1vdmUJbW9iX3goYTYpLGQwCgltb3ZlCW1vYl95KGE2KSxkMQoJbW92ZXEJIzAsZDIKCW1vdmVxCSMwLGQ2CglsZWEJbm9kZV9tc2lnaHQsYTYKCW1vdmVtCWQwL2QxL2QyL2Q2L2Q3LG5vZGVfZGF0YShhNikKCW1vdmUJI290X21zaWdodCxtb2JfdHlwZShhNikKCWpzcglpbnNlcnRfc3ByaXRlCi5ub19wb3B0YXJnOgoKCWJyYS5zCS4ycGxheWVyX2RvbmUKLm5vdF93YWxrZXIxOgoJbGVhCXdlYXBvbl90YWIsYTAKCWFkZAl3ZWFwb24sYTAKCWNtcC5iCSNwd19ib21ibGV0LChhMCkKCWJuZS5zCS4ycGxheWVyX2RvbmUKCWpzcgloYW5kbGVfbWlzc2lsZV9zaWdodAouMnBsYXllcl9kb25lOgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCWpzcglwbG90X3JhbXMKCWpzcglwbG90X3BsYXllcgoJdHN0CWNoYXJnZV9jbnQKCWJlcS5zCS5ub3RfY2hhcmdpbmcKCWpzcglpbnNlcnRfY2hhcmdlX3Nwcgoubm90X2NoYXJnaW5nOgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCW1vdmVxCSMxLGQwCglhbmQJdG9ycGVkb19jb3VudCxkMAoJYm5lCS5ub19wYXVzZQoJY21wCSMxNixnYW1lX2RlbAoJYmxlCS5ub19wYXVzZQoJdHN0CWVuZF9mYWRlCglibmUJLm5vX3BhdXNlCgl0c3QJZmFkZV9jb3VudAoJYm5lCS5ub19wYXVzZQoKCXRzdC5iCXBseTJtb2RlCgliZXEucwkubm90XzJwbHlfOTkKCWJ0c3QJI2J1dHRvbl9wYXVzZSxqb3kxXzIKCWJlcS5zCS5wYXVzaW5nCi5ub3RfMnBseV85OToKCWJ0c3QJI2J1dHRvbl9wYXVzZSxqb3kxCglibmUJLm5vX3BhdXNlCi5wYXVzaW5nOgoJbW92ZS5sCWNzX3JlbHRpbWUsLShzcCkKCWpzcglwYXVzZV9zb3VuZAoucHcxOgoJanNyCXdhaXRfdmJsCglqc3IJcmVhZHBhZAoKCXRzdC5iCXBseTJtb2RlCgliZXEucwkubm90XzJwbHlfOTgKCWJ0c3QJI2J1dHRvbl9wYXVzZSxqb3kxXzIKCWJlcQkucHcxCi5ub3RfMnBseV85ODoKCWJ0c3QJI2J1dHRvbl9wYXVzZSxqb3kxCgliZXEJLnB3MQoucHcyOgoJanNyCXdhaXRfdmJsCglqc3IJcmVhZHBhZAoKCXRzdC5iCXBseTJtb2RlCgliZXEucwkubm90XzJwbHlfOTcKCWJ0c3QJI2J1dHRvbl9wYXVzZSxqb3kxXzIKCWJlcS5zCS5wdzMKLm5vdF8ycGx5Xzk3OgoJYnRzdAkjYnV0dG9uX3BhdXNlLGpveTEKCWJuZS5zCS5wdzIKLnB3MzoKCWpzcgl3YWl0X3ZibAoJanNyCXJlYWRwYWQKCWJ0c3QJI2J1dHRvbl9wYXVzZSxqb3kxCgliZXEucwkucHczCgl0c3QuYglwbHkybW9kZQoJYmVxLnMJLm5vdF8ycGx5Xzk2CglidHN0CSNidXR0b25fcGF1c2Usam95MV8yCgliZXEucwkucHczCi5ub3RfMnBseV85NjoKCWpzcgl1bnBhdXNlX3NvdW5kCgltb3ZlLmwJKHNwKSssY3NfcmVsdGltZQoubm9fcGF1c2U6CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoJanNyCXRlcm1fbGlzdAoKCWNtcAkjMjYsbGV2ZWwKCWJlcS5zCS5ib2RnZV8yNgoJY21wCSMwOCxsZXZlbAoJYm5lLnMJLm5vdF9ib2RnZV8wOAouYm9kZ2VfMjY6Cglqc3IJZHJhd191bmRlcnNpZGUKLm5vdF9ib2RnZV8wODoKCgltb3ZlLmwJZmxvb3JCLGQwCgltb3ZlLmwJZmxvb3JGLGZsb29yQgoJbW92ZS5sCWQwLGZsb29yRgoKCW1vdmUubAlzY3JCLGQwCgltb3ZlLmwJc2NyRixzY3JCCgltb3ZlLmwJZDAsc2NyRgoKCW1vdmUubAlsaXN0QixkMAoJbW92ZS5sCWxpc3RGLGxpc3RCCgltb3ZlLmwJZDAsbGlzdEYKCjsJTU9WRS5CCSMxNixzaGllbGQKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoJY21wLmIJIzIscmVzZXRfZmxhZwoJYmVxCW1haW5fc3RhcnQKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoJdHN0CWR5aW5nX2NudAoJYm5lLnMJLmRpZTEKCgljbXAuYgkjLTIsc2hpZWxkCgliZ2UJbWxvb3AKCXRzdAl0aW1lcl92YWwKCWJlcS5zCS5ub19zdG9wX211c2ljCglqc3IJc3RvcF9tdXNpYwoubm9fc3RvcF9tdXNpYzoKCXN0CWRlYWN0X3dlYXBzCglqc3IJZG9fZXhwMl9zZngKLmRpZTE6CgljbXAJIzIwKjIsZHlpbmdfY250CglibmUucwkuZGllMgoJY2xyCWxhc3RfcGx5aGl0Ci5kaWUyOgoJanNyCWR5aW5nX2ZhZGVyCglhZGRxCSMxLGR5aW5nX2NudAoJY21wCSMyMCo0LGR5aW5nX2NudAoJYm5lCW1sb29wCgoJc2YJaW5fZ2FtZQoJanNyCXNjcm9mZgoJanNyCXNldF9zY3Jvbl9kZWxheQoKCWxlYQlzdGFjayxzcAoJc3VicQkjMSxsaXZlcwoJYm5lCWNvbnRpbnVlX2dhbWUKCiogQWxsIGxpdmVzIGdvbmUmIzMzOwoKOwlsZWEJdGhlX2VuZF9zZXFfZmlsZSxhMQo7CWpzcglwbGF5X2FuaW0KOwlqc3IJZmFkZV9vdXRfYW5pbQoKCWNscglkeWluZ19mYWRlX3ZhbAoJbW92ZXEJI1RJVExFX0ZJTEUsZDAKCWpzcglsb2FkX2ZpbGVzCglqc3IJaGlzY29yZV9nYW1lX292ZXIKCglqbXAJbWFpbl9zdGFydDIKCmNvbnRpbnVlX2dhbWU6Cglic3IJcmVzdGFydF9saWZlX2xvc3QKCWJzcglsZXZlbF9zZXR1cAoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCglsZWEJbm9kZV9oZWFkLGEwCglsZWEJbm9kZV90YWlsLGExCgltb3ZlLmwJYTEsbm9kZV9uZXh0KGEwKQoJbW92ZS5sCWEwLG5vZGVfcHJldihhMSkKCWNscglnYW1lX2RlbAoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCglicmEJbWxvb3AKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCmluaXRfc3RhcnR1cDoKCW1vdmUJIzYzKzIwLHN0YXJ0dXBfY291bnQKCWptcAlkb190aHJ1c3Rpbmdfc2Z4Cgpkb19wbF9zdGFydHVwOgoJbW92ZXEJIyYjMDM2OzAwMDAwMDM3LGQwCgltb3ZlLmwJZDAscGxheWVyX3gJCgltb3ZlcQkjMCxkNgoJY21wCSM2MixkMQoJYmdlLnMJLjEKCWFkZAlkMSxkMQoJbW92ZQlwbF9zdF90YWJsZS0yKHBjLGQxKSxkNgoJbW92ZQkjMjU2LzIsZDAKCW1vdmVxCSM4OCxkMQouMToKCXN1YnEJIzEsc3RhcnR1cF9jb3VudAoJbW92ZQl2ZWhpY2xlLGQ3Cgltb3ZlLmIJLnRhYmxlMihwYyxkNyksZDcKCWNtcAkjMzIsc3RhcnR1cF9jb3VudAoJYmxlLnMJLjIKCW1vdmUJIzUxMCxkNwouMjoKCXJ0cwoudGFibGUyOgoJZGMuYgkxMSwxMwoJZXZlbgpwbF9zdF90YWJsZToKCWRjCSYjMDM2OzgwMSwmIzAzNjs4MDIsJiMwMzY7ODA0LCYjMDM2OzgwOCwmIzAzNjs4MTAsJiMwMzY7ODIwLCYjMDM2OzgzMCwmIzAzNjs4NDAKCWRjCSYjMDM2Ozg2MCwmIzAzNjs4ODAsJiMwMzY7OGEwLCYjMDM2OzhjMCwmIzAzNjs4ZTAsJiMwMzY7OTAwLCYjMDM2Ozk0MCwmIzAzNjs5ODAKCWRjCSYjMDM2OzliMCwmIzAzNjs5ZTAsJiMwMzY7YTEwLCYjMDM2O2E0MCwmIzAzNjthNzAsJiMwMzY7YWEwLCYjMDM2O2FjMCwmIzAzNjthZTAKCWRjCSYjMDM2O2FlOCwmIzAzNjthZjAsJiMwMzY7YWY4LCYjMDM2O2FmYywmIzAzNjthZmUsJiMwMzY7YWZkLCYjMDM2O2FmYywmIzAzNjthZmEKCWRjCSYjMDM2O2FmOCwmIzAzNjthZjQsJiMwMzY7YWYwLCYjMDM2O2FlOCwmIzAzNjthZTAsJiMwMzY7YWQ4LCYjMDM2O2FkMCwmIzAzNjthYzAKCWRjCSYjMDM2O2FiMCwmIzAzNjthYTAsJiMwMzY7YTgwLCYjMDM2O2E2MCwmIzAzNjthNDAsJiMwMzY7YTAwLCYjMDM2OzljMCwmIzAzNjs5ODAKCWRjCSYjMDM2Ozk0MCwmIzAzNjs5MDAsJiMwMzY7ODgwLCYjMDM2OzgwMCwmIzAzNjs3ODAsJiMwMzY7NzAwLCYjMDM2OzY4MCwmIzAzNjs2MDAKCWRjCSYjMDM2OzU4MCwmIzAzNjs1MDAsJiMwMzY7NDgwLCYjMDM2OzQwMCwmIzAzNjszODAKCmR1bXBfZ3B1X2Zsb29yOgoJbGVhCWxpbl9ncHUsYTAKCWxlYQlvdmVybGF5cyxhMQoJbW92ZQkjbGluX2dwdUwvNCxkNwoubG9vcDoJbW92ZS5sCShhMCkrLChhMSkrCglkYmYJZDcsLmxvb3AKCXJ0cwoKZHVtcF9ncHVfMzYwOgoJbGVhCWwzNjBfZ3B1LGEwCglsZWEJb3ZlcmxheXMsYTEKCW1vdmUJI2wzNjBfZ3B1TC80LGQ3Ci5sb29wOgltb3ZlLmwJKGEwKSssKGExKSsKCWRiZglkNywubG9vcAoJcnRzCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpkcmF3XzM2MF9ncHU6CglsZWEJdmFycyxhMAoJbW92ZS5sCWZsb29yRiwoYTApKwoJbW92ZS5sCW1hcCwoYTApKwoJbW92ZS5sCWJsb2NrcywoYTApKwoJbW92ZS5sCSNzaW50YWIsKGEwKSsKCW1vdmUubAkjY29zdGFiLChhMCkrCgltb3ZlCW9heCxkMAoJZXh0LmwJZDAKCW1vdmUubAlkMCwoYTApKwoJbW92ZQlhbHQsZDAKCWV4dC5sCWQwCgltb3ZlLmwJZDAsKGEwKSsKCW1vdmVtCXYzNjBfb2ZmX294LGQwCgltb3ZlbQl2MzYwX29mZl9veSxkMQoJbW92ZS5sCWQwLChhMCkrCgltb3ZlLmwJZDEsKGEwKSsKCW1vdmUubAkjJiMwMzY7NTQsKGEwKSsKCgltb3ZlLmwJI2NhbGNfZmxvb3JfMzYwLHNlbWFwaG9yZV9hZHIKCW1vdmVxCSMxLGQwCgltb3ZlLmwJZDAsc2VtYXBob3JlCglydHMKCmRyYXdfMzYwXzA4X2dwdToKCWxlYQl2YXJzLGEwCgltb3ZlLmwJZmxvb3JGLGQwCglhZGQubAkjMTA0KjI1NixkMAoJbW92ZS5sCWQwLChhMCkrCgltb3ZlLmwJbWFwLChhMCkrCgltb3ZlLmwJYmxvY2tzLChhMCkrCgltb3ZlLmwJI3NpbnRhYiwoYTApKwoJbW92ZS5sCSNjb3N0YWIsKGEwKSsKCW1vdmUJb2F4LGQwCglleHQubAlkMAoJbW92ZS5sCWQwLChhMCkrCgltb3ZlCWFsdCxkMAoJZXh0LmwJZDAKCW1vdmUubAlkMCwoYTApKwoJbW92ZW0JdjM2MF9vZmZfb3gsZDAKCW1vdmVtCXYzNjBfb2ZmX295LGQxCgltb3ZlLmwJZDAsKGEwKSsKCW1vdmUubAlkMSwoYTApKwoJbW92ZS5sCSMxMDAtNCwoYTApKwoKCW1vdmUubAkjY2FsY19mbG9vcl8zNjAsc2VtYXBob3JlX2FkcgoJbW92ZXEJIzEsZDAKCW1vdmUubAlkMCxzZW1hcGhvcmUKCXJ0cwoKZHJhd19saW5lYXJfMTBfZ3B1OgoJc3ViCSMmIzAzNjsyMDAwLG1hcF94cG9zCQk7S0xVREdFCgltb3ZlLmwJI2RyYXdfbGluZWFyX2Zsb29yXzEwLGQxCglic3IucwlkcmF3X2xpbmVhcl9ncHUyCglhZGQJIyYjMDM2OzIwMDAsbWFwX3hwb3MJCTtLTFVER0UKCXJ0cwoKZHJhd19saW5lYXJfY2l0eV9ncHU6Cgltb3ZlLmwJI2RyYXdfbGluZWFyX2Zsb29yX2NpdHksZDEKCWJyYS5zCWRyYXdfbGluZWFyX2dwdTIKCmRyYXdfbGluZWFyX2dwdToKCW1vdmUubAkjZHJhd19saW5lYXJfZmxvb3Isc2VtYXBob3JlX2FkcgoJbW92ZXEJIzEsZDAKCW1vdmUubAlkMCxzZW1hcGhvcmUKCWptcAl3YWl0Z3B1CgpkcmF3X2xpbmVhcl9ncHUyOgoJbW92ZXEJIzAsZDIKCglsZWEJdmFycyxhMAoJbW92ZS5sCWZsb29yQiwoYTApKwoJbW92ZS5sCWQyLChhMCkrCgltb3ZlLmwJZmJ1ZmZfcHRyLChhMCkrCgltb3ZlLmwJZDIsKGEwKSsKCW1vdmUubAlkMiwoYTApKwoJbW92ZS5sCWQyLChhMCkrCgltb3ZlCWFsdCxkMAoJZXh0LmwJZDAKCW1vdmUubAlkMCwoYTApKwoKCW1vdmVtCW1hcF94cG9zLGQwCgltb3ZlLmwJZDAsKGEwKSsKCW1vdmVtCW1hcF96cG9zLGQwCgltb3ZlLmwJZDAsKGEwKSsKCgltb3ZlLmwJZDEsc2VtYXBob3JlX2FkcgoJbW92ZXEJIzEsZDAKCW1vdmUubAlkMCxzZW1hcGhvcmUKCglicmEJd2FpdGdwdQoKcnVuX2dwdV9saW5lYXIxOgoJYnNyCXdhaXRncHUKCW1vdmUubAkjY2FsY19saW5lYXJfZmxvb3Isc2VtYXBob3JlX2FkcgoJbW92ZXEJIzEsZDAKCW1vdmUubAlkMCxzZW1hcGhvcmUKCXJ0cwoKd2FpdGdwdToKCWxlYQlzZW1hcGhvcmUsYTAKLndhaXQ6Cgltb3ZlcQkjMSxkMAoJZGl2cwlkMCxkMAoJZGl2cwlkMCxkMAoJdHN0LmwJKGEwKQoJYm5lLnMJLndhaXQKCXJ0cwoKd2FpdGdwdTM6CglwdXNoLmwJYTAKCXB1c2gubAlkMAoKCWxlYQlHX0ZMQUdTLGEwCi5sb29wOgoJbW92ZXEJIzEsZDAKCWRpdnUJZDAsZDAKCgltb3ZlLmwJKGEwKSxkMAoJYnRzdAkjNixkMAoJYm5lLnMJLmxvb3AKCglwb3AubAlkMAoJcG9wLmwJYTAKCXJ0cwoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCnJvdGF0ZV9wbGF5ZXJfc3ByaXRlOgoJdHN0CXZlaGljbGUKCWJuZQlyb3RhdGVfcGxheWVyX3Nwcml0ZV9jb3B0ZXIKCnJvdGF0ZV9wbGF5ZXJfc3ByaXRlX3N0cmlrZXI6CjsJbGVhCXBsYXllcl9wdHIsYTAKOwltb3ZlCW5vZGVfcGxheWVyK21vYl9kZWYsYTUKOwljbXAJIzI1LGE1CjsJYmx0LnMJLjEKOwltb3ZlCSMxMixhNQo7LjE6CjsJYWRkCWE1LGE1CjsJYWRkCWE1LGE1CjsJbW92ZS5sCShhMCxhNSksYTAKCgltb3ZlCWxhc3RfZnJhbWUsYTUKCWFkZAlhNSxhNQoJYWRkCWE1LGE1CglsZWEJcGxheWVyX3NoaXAsYTAKCgl0c3QJc3RhcnR1cF9jb3VudAoJYmVxLnMJLjMKCgltb3ZlLmwJYTAsYTEKCWptcAlibGl0X3Nwcml0ZQouMzoKCWxlYQk4KGEwKSxhMgoKCXN1Yi5sCWEzLGEzCgltb3ZlCW5vZGVfcGxheWVyK21vYl94LGQ0CglzdWIJIyg5Ni8yKSxkNAoJYnBsLnMJLm5vX3gxX2NsaXAKCW5lZwlkNAoJbW92ZQlkNCxhMwoubm9feDFfY2xpcDoKCW1vdmUJbm9kZV9wbGF5ZXIrbW9iX3gsZDQKCWFkZAkjKDk2LzIpLGQ0CglzdWIJIzI1NixkNAoJYm1pLnMJLm5vX3gyX2NsaXAKCW1vdmUJZDQsYTMKLm5vX3gyX2NsaXA6CgoJYnNyCXdhaXRibGl0Cgo7c2V0IHNvdXJjZS4uLgoJCgltb3ZlLmwJYTIsQTFfQkFTRQoKCW1vdmUubAkjUElUQ0gxfFBJWEVMMTZ8V0lEOTZ8WEFERElOQyxBMV9GTEFHUwkJO2ExID0gc291cmNlCgoJbW92ZS5sCShhMCksZDQKCXN3YXAJZDQKCW1vdmUubAlkNCxBMV9DTElQCgoJbW92ZQk2KGEwKSxkMwoJbW92ZQlkMyxweW9mZgoKCW1vdmUJMihhMCksZDMKCgltb3ZlLmwJIyg3MiZsdDsmbHQ7MTYpKzk2LGQwCglzdWIJYTMsZDAKCW1vdmUubAlkMCxCX0NPVU5UCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiBvdXRlciBsb29wIGxpbmUgaW5jcmVtZW50ICoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgltb3ZlCXhzcGVlZCxkMAoJYWRkCXBiYW5rLGQwCgoJY21wCSMmIzAzNjs0MDAsZDAKCWJsZS5zCS56YjEKCW1vdmUJIyYjMDM2OzQwMCxkMAouemIxOgoJY21wCSMtJiMwMzY7NDAwLGQwCgliZ2UucwkuemIyCgltb3ZlCSMtJiMwMzY7NDAwLGQwCi56YjI6CgljbXAJIzE1KjQsYTUKCWJnZS5zCS4yCgluZWcJZDAKLjI6Cglhc3IJIzIsZDAKCWFuZAkjJiMwMzY7ZmZlLGQwCgoJbGVhCWNvc3RhYixhMgoJbW92ZQkoYTIsZDApLGQ1Cgltb3ZlCWQ1LHNwX2NvcwoKCWxlYQlzaW50YWIsYTIKCW1vdmUJKGEyLGQwKSxkNQoJbW92ZQlkNSxzcF9zaW4KCgltb3ZlCTQoYTApLGQ0CQk7Z2V0IE9mZngKCW5lZwlkNAoJbHNsCSMzLGQ0Cgltb3ZlCWQ0LHNwX21pZHgKCgltb3ZlCTYoYTApLGQxCQk7Z2V0IE9mZnkKCWFkZAkjMTIsZDEKCWxzbAkjMyxkMQoJbW92ZQlkMSxzcF9taWQKCW5lZwlkMQoKCW1vdmUJc3BfbWlkeCxkNAoJbW92ZQlzcF9jb3MsZDAKCW1vdmUJZDAsZDIKCW1vdmUJc3Bfc2luLGQ3Cgltb3ZlCWQ3LGQ2CgltdWxzCWQ0LGQwCgltdWxzCWQxLGQ3CglzdWIubAlkMCxkNwoJYWRkLmwJZDcsZDcKCXN3YXAJZDcKCW5lZwlkNwoJbXVscwlkMSxkMgoJbXVscwlkNCxkNgoJYWRkLmwJZDIsZDYKCWFkZC5sCWQ2LGQ2Cglzd2FwCWQ2CgoJc3ViCXNwX21pZHgsZDcKCglhZGQJc3BfbWlkLGQ2CglhZGQJIygtMTIqOCksZDYKCglleHQubAlkNgoJZXh0LmwJZDcKCW1vdmVxCSMxNi0zLGQyCglsc2wubAlkMixkNgoJbHNsLmwJZDIsZDcKCW1vdmUJZDYsZDIKCXN3YXAJZDIKCW1vdmUJZDcsZDIKCW1vdmUubAlkMixBMV9GUElYRUwKCXN3YXAJZDcKCW1vdmUJZDcsZDYKCW1vdmUubAlkNixBMV9QSVhFTAoKO3NldCBpbm5lciBsb29wCgoJbW92ZQlzcF9jb3MsZDAKCWV4dC5sCWQwCglhZGQubAlkMCxkMAoKCW1vdmUJc3Bfc2luLGQxCglleHQubAlkMQoJYWRkLmwJZDEsZDEKCgltb3ZlCWQxLGQyCglzd2FwCWQyCgltb3ZlCWQwLGQyCgltb3ZlLmwJZDIsQTFfRklOQwoJc3dhcAlkMAoJbW92ZQlkMCxkMQoJbW92ZS5sCWQxLEExX0lOQwoqKioKCW1vdmVxCSMtOTYsZDQKCWFkZAlhMyxkNAoJbW92ZXEJIzEsZDEKCgltb3ZlCXNwX2NvcyxkMwoJbW92ZQlkMyxkMgoJbW92ZQlzcF9zaW4sZDcKCW1vdmUJZDcsZDYKCW11bHMJZDQsZDMKCW11bHMJZDEsZDcKCXN1Yi5sCWQzLGQ3CglhZGQubAlkNyxkNwoKCW11bHMJZDEsZDIKCW11bHMJZDQsZDYKCWFkZC5sCWQyLGQ2CglhZGQubAlkNixkNgoqKioKCW5lZy5sCWQ3CgoJbW92ZQlkNixkMgoJc3dhcAlkMgoJbW92ZQlkNyxkMgoJbW92ZS5sCWQyLEExX0ZTVEVQCglzd2FwCWQ3Cgltb3ZlCWQ3LGQ2Cgltb3ZlLmwJZDYsQTFfU1RFUAoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogc2V0IGRlc3QgKgoqKioqKioqKioqKioKCgltb3ZlLmwJc2NyQixBMl9CQVNFCgoJbW92ZQlub2RlX3BsYXllcittb2JfeSxkMQoJc3ViCXB5b2ZmLGQxCglzdWIJIzI0LGQxCgoJc3dhcAlkMQoJYWRkCW5vZGVfcGxheWVyK21vYl94LGQxCglzdWIJIyg5Ni8yKSxkMQoKCW1vdmUubAkjKDEmbHQ7Jmx0OzE2KSsoLTk2JmFtcDsmIzAzNjtmZmZmKSxkMgoJYWRkCWEzLGQyCgltb3ZlLmwJI1BJVENIMXxQSVhFTDE2fFdJRDI1NnxYQUREUElYLGQzCTthMiA9IGRlc3QgKHNjcmVlbikKCgljbXAJIzE1KjQsYTUKCWJnZS5zCS45OQoJYWRkCSM5NixkMQoJbmVnCWQyCglic2V0CSMxOSxkMwouOTk6CW1vdmUubAlkMSxBMl9QSVhFTAoJbW92ZS5sCWQyLEEyX1NURVAKCW1vdmUubAlkMyxBMl9GTEFHUwoKCW1vdmUJc3RyaWtlcl9mYWRlLGQwCglzd2FwCWQwCgljbHIJZDAKCW1vdmUubAlkMCxCX0lJTkMKCW1vdmUubAlkMCxCX1BBVEQKCgltb3ZlLmwJI0NMSVBfQTF8U1JDU0hBREV8R09VUlp8U1JDRU58TEZVX1N8VVBEQTFGfFVQREEyfERTVEEyfERDT01QRU4sQl9DTUQJO1N0YXJ0IHRoZSBCTFRURVIKLmV4aXQ6Cglic3IJd2FpdGJsaXQKCglydHMKCnJvdGF0ZV9wbGF5ZXJfc3ByaXRlX2NvcHRlcjoKCWxlYQlwbGF5ZXJfcHRyLGEwCgltb3ZlCW5vZGVfcGxheWVyK21vYl9kZWYsYTUKCXN1YgkjNTAsYTUKCWFkZAlhNSxhNQoJYWRkCWE1LGE1Cgltb3ZlLmwJKGEwLGE1KSxhMAoKCWxlYQk4KGEwKSxhMgoKCWJzcgl3YWl0YmxpdAoKO3NldCBzb3VyY2UuLi4KCQoJbW92ZS5sCWEyLEExX0JBU0UKCgltb3ZlLmwJI1BJVENIMXxQSVhFTDE2fFdJRDgwfFhBRERJTkMsQTFfRkxBR1MJCTthMSA9IHNvdXJjZQoKCW1vdmUubAkoYTApLGQ0Cglzd2FwCWQ0Cgltb3ZlLmwJZDQsQTFfQ0xJUAoKCW1vdmUJNihhMCksZDMKCW1vdmUJZDMscHlvZmYKCgltb3ZlCTIoYTApLGQzCgoJbW92ZS5sCSMoNzImbHQ7Jmx0OzE2KSs4MCxCX0NPVU5UCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiBvdXRlciBsb29wIGxpbmUgaW5jcmVtZW50ICoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgltb3ZlCXhzcGVlZCxkMAoJYWRkCXBiYW5rLGQwCgoJY21wCSMmIzAzNjs0MDAsZDAKCWJsZS5zCS56YjEKCW1vdmUJIyYjMDM2OzQwMCxkMAouemIxOgoJY21wCSMtJiMwMzY7NDAwLGQwCgliZ2UucwkuemIyCgltb3ZlCSMtJiMwMzY7NDAwLGQwCi56YjI6CgljbXAJIzE1KjQsYTUKCWJsdC5zCS4yCgluZWcJZDAKLjI6Cglhc3IJIzIsZDAKCWFuZAkjJiMwMzY7ZmZlLGQwCgoJbGVhCWNvc3RhYixhMgoJbW92ZQkoYTIsZDApLGQ1Cgltb3ZlCWQ1LHNwX2NvcwoKCWxlYQlzaW50YWIsYTIKCW1vdmUJKGEyLGQwKSxkNQoJbW92ZQlkNSxzcF9zaW4KCgltb3ZlCTQoYTApLGQ0CQk7Z2V0IE9mZngKCW5lZwlkNAoJbHNsCSMzLGQ0Cgltb3ZlCWQ0LHNwX21pZHgKCgltb3ZlCTYoYTApLGQxCQk7Z2V0IE9mZnkKCWFkZAkjMTIsZDEKCWxzbAkjMyxkMQoJbW92ZQlkMSxzcF9taWQKCW5lZwlkMQoKCW1vdmUJc3BfbWlkeCxkNAoJbW92ZQlzcF9jb3MsZDAKCW1vdmUJZDAsZDIKCW1vdmUJc3Bfc2luLGQ3Cgltb3ZlCWQ3LGQ2CgltdWxzCWQ0LGQwCgltdWxzCWQxLGQ3CglzdWIubAlkMCxkNwoJYWRkLmwJZDcsZDcKCXN3YXAJZDcKCW5lZwlkNwoJbXVscwlkMSxkMgoJbXVscwlkNCxkNgoJYWRkLmwJZDIsZDYKCWFkZC5sCWQ2LGQ2Cglzd2FwCWQ2CgoJc3ViCXNwX21pZHgsZDcKCWFkZAlzcF9taWQsZDYKCWFkZAkjKC0xMio4KSxkNgoKCWV4dC5sCWQ2CglleHQubAlkNwoJbW92ZXEJIzE2LTMsZDIKCWxzbC5sCWQyLGQ2Cglsc2wubAlkMixkNwoJbW92ZQlkNixkMgoJc3dhcAlkMgoJbW92ZQlkNyxkMgoJbW92ZS5sCWQyLEExX0ZQSVhFTAoJc3dhcAlkNwoJbW92ZQlkNyxkNgoJbW92ZS5sCWQ2LEExX1BJWEVMCgo7c2V0IGlubmVyIGxvb3AKCgltb3ZlCXNwX2NvcyxkMAoJZXh0LmwJZDAKCWFkZC5sCWQwLGQwCgoJbW92ZQlzcF9zaW4sZDEKCWV4dC5sCWQxCglhZGQubAlkMSxkMQoKCW1vdmUJZDEsZDIKCXN3YXAJZDIKCW1vdmUJZDAsZDIKCW1vdmUubAlkMixBMV9GSU5DCglzd2FwCWQwCgltb3ZlCWQwLGQxCgltb3ZlLmwJZDEsQTFfSU5DCioqKgoJbW92ZXEJIy04MCxkNAoJbW92ZXEJIzEsZDEKCgltb3ZlCXNwX2NvcyxkMwoJbW92ZQlkMyxkMgoJbW92ZQlzcF9zaW4sZDcKCW1vdmUJZDcsZDYKCW11bHMJZDQsZDMKCW11bHMJZDEsZDcKCXN1Yi5sCWQzLGQ3CglhZGQubAlkNyxkNwoKCW11bHMJZDEsZDIKCW11bHMJZDQsZDYKCWFkZC5sCWQyLGQ2CglhZGQubAlkNixkNgoqKioKCW5lZy5sCWQ3CgoJbW92ZQlkNixkMgoJc3dhcAlkMgoJbW92ZQlkNyxkMgoJbW92ZS5sCWQyLEExX0ZTVEVQCglzd2FwCWQ3Cgltb3ZlCWQ3LGQ2Cgltb3ZlLmwJZDYsQTFfU1RFUAoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogc2V0IGRlc3QgKgoqKioqKioqKioqKioKCgltb3ZlLmwJc2NyQixBMl9CQVNFCgoJbW92ZQlub2RlX3BsYXllcittb2JfeSxkMQoJc3ViCXB5b2ZmLGQxCglzdWIJIzQwLGQxCgoJc3dhcAlkMQoJYWRkCW5vZGVfcGxheWVyK21vYl94LGQxCglzdWIJIyg4MC8yKSxkMQoKCWNtcAkjMTgqNCxhNQoJYmx0LnMJLjk4CglzdWJxCSM4LGQxCglicmEucwkuOTcKLjk4OgljbXAJIzkqNCxhNQoJYmdlLnMJLjk3CglhZGRxCSM4LGQxCQouOTc6Cgltb3ZlLmwJIygxJmx0OyZsdDsxNikrKC04MCZhbXA7JiMwMzY7ZmZmZiksZDIKCW1vdmUubAkjUElUQ0gxfFBJWEVMMTZ8V0lEMjU2fFhBRERQSVgsZDMJO2EyID0gZGVzdCAoc2NyZWVuKQoKCWNtcAkjMTUqNCxhNQoJYmx0LnMJLjk5CglhZGQJIzgwLGQxCgluZWcJZDIKCWJzZXQJIzE5LGQzCi45OToJbW92ZS5sCWQxLEEyX1BJWEVMCgltb3ZlLmwJZDIsQTJfU1RFUAoJbW92ZS5sCWQzLEEyX0ZMQUdTCgoJbW92ZQlzdHJpa2VyX2ZhZGUsZDAKCWJuZS5zCS45NgoKCW1vdmUJY29wdGVyX2ZsYXJlLGQwCglsc2wJIzQsZDA=--><!--egc2--><!--g2--></div><!--eg2-->

    More More!

    [codebox] 4.49a
    #readram3
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #readram2
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #readram1
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #readram0
    00000000 003FD7FF
    00880000 009FFFFF
    00FF0000 00FFFFFF
    #writeram3
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #writeram2
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #writeram1
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #writeram0
    00000000 003FBFFF
    00880000 009FFFFF
    00FF0000 00FFFFFF
    #update
    FF 0008
    #video
    03 50 32
    #label level
    02 00 00
    #colour attributes
    17 20 60 40 1F 2F 6F 4F 3E B0 4F 5E 0C 70 C0 87 8E 8E F0 90 4F 87 7C 0E 0A 70
    #mono attributes
    07 07 07 07 0F 0F 0F 0F 70 70 07 70 0F 70 01 07 0F 0F 70 0F 07 07 70 07 07 70
    #default tabs
    68K 0F 17 28 30 00 00 00 00
    658 0F 17 28 30 00 00 00 00
    Z80 0F 17 28 30 00 00 00 00
    C 04 00 00 00 00 00 00 00
    #expression C/ASM flags
    00 00 00 00 00
    #window
    01 00 00 00
    00 01 4F 0A 3D 05
    00000000
    #window
    82 00 00 00
    00 0A 4F 21 08 0B
    0088675A
    #window
    03 01 00 00
    00 21 4F 2D 08 22
    FFFFFFEE
    #history
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    0A $ffff802e
    0A ffff802e
    0A ff802e
    0A sp
    0A pwmstructs
    0A playpwm
    0A pwm_irq
    0A frame_table+(o_digit*4)[/codebox]

    More! (the same thing as above, only different slightly):

    [codebox]#version
    4.49a
    #readram3
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #readram2
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #readram1
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #readram0
    00000000 003FD7FF
    00880000 009FFFFF
    00FF0000 00FFFFFF
    #writeram3
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #writeram2
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #writeram1
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #writeram0
    00000000 003FBFFF
    00880000 009FFFFF
    00FF0000 00FFFFFF
    #update
    FF 0008
    #video
    03 50 32
    #label level
    02 00 00
    #colour attributes
    17 20 60 40 1F 2F 6F 4F 3E B0 4F 5E 0C 70 C0 87 8E 8E F0 90 4F 87 7C 0E 0A 70
    #mono attributes
    07 07 07 07 0F 0F 0F 0F 70 70 07 70 0F 70 01 07 0F 0F 70 0F 07 07 70 07 07 70
    #default tabs
    68K 0F 17 28 30 00 00 00 00
    658 0F 17 28 30 00 00 00 00
    Z80 0F 17 28 30 00 00 00 00
    C 04 00 00 00 00 00 00 00
    #expression C/ASM flags
    00 00 00 00 00
    #window
    01 00 00 02
    00 01 4F 0A 0A 02
    00000000
    #window
    02 00 00 02
    00 0A 4F 21 08 0B
    060004BC
    #window
    83 02 00 02
    00 21 4F 2D 0A 22
    020FF8C2
    #history
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    0A $ffff802e
    0A ffff802e
    0A ff802e
    0A sp
    0A pwmstructs
    0A playpwm
    0A pwm_irq
    0A frame_table+(o_digit*4)[/codebox]

    Here's a batch file for compiling all that crap:

    [codebox]\psylink /m /z /I @soul.lnk,soul,soul.sym,soul.map

    musdat.obj: musdat.68k
    \psyq\asm68k /I /l /zd /g /w /z musdat.68k,musdat

    soul68k.obj: soul.68k main.68k music.68k joystick.68k
    \psyq\asm68k /I /l /zd /g /w /z main,main68k

    soulsh2.obj: main.sh2 soul.sh2 sprite.sh2
    \psyq\asmsh /z /I /l /zd /g /w main.sh2,mainsh2

    debug:
    \psyq\dbug32x soul /u1 soul /u2 soul /e[/codebox]

    same thing mentioned again:

    [codebox]#version
    4.49a
    #readram3
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #readram2
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #readram1
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #readram0
    00000000 003FD7FF
    00880000 009FFFFF
    00FF0000 00FFFFFF
    #writeram3
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #writeram2
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #writeram1
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #writeram0
    00000000 003FBFFF
    00880000 009FFFFF
    00FF0000 00FFFFFF
    #update
    FF 0008
    #video
    03 50 32
    #label level
    02 00 00
    #colour attributes
    17 20 60 40 1F 2F 6F 4F 3E B0 4F 5E 0C 70 C0 87 8E 8E F0 90 4F 87 7C 0E 0A 70
    #mono attributes
    07 07 07 07 0F 0F 0F 0F 70 70 07 70 0F 70 01 07 0F 0F 70 0F 07 07 70 07 07 70
    #default tabs
    68K 0F 17 28 30 00 00 00 00
    658 0F 17 28 30 00 00 00 00
    Z80 0F 17 28 30 00 00 00 00
    C 04 00 00 00 00 00 00 00
    #expression C/ASM flags
    00 00 00 00 00
    #window
    01 00 00 00
    00 01 4F 0A 3D 05
    00000000
    #window
    82 00 00 00
    00 0A 4F 21 08 0B
    0088675A
    #window
    03 01 00 00
    00 21 4F 2D 08 22
    FFFFFFEE
    #history
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    0A $ffff802e
    0A ffff802e
    0A ff802e
    0A sp
    0A pwmstructs
    0A playpwm
    0A pwm_irq
    0A frame_table+(o_digit*4)[/codebox]

    Again, more of the same. (These must be for different OBJ files)

    [codebox]#version
    4.49a
    #readram3
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #readram2
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #readram1
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #readram0
    00000000 003FD7FF
    00880000 009FFFFF
    00FF0000 00FFFFFF
    #writeram3
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #writeram2
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #writeram1
    00000000 00003FFF
    02000000 023FFFFF
    04000000 0403FFFF
    06000000 0603FFFF
    20000000 20003FFF
    22000000 223FFFFF
    24000000 2403FFFF
    26000000 2603FFFF
    #writeram0
    00000000 003FBFFF
    00880000 009FFFFF
    00FF0000 00FFFFFF
    #update
    FF 0008
    #video
    03 50 32
    #label level
    02 00 00
    #colour attributes
    17 20 60 40 1F 2F 6F 4F 3E B0 4F 5E 0C 70 C0 87 8E 8E F0 90 4F 87 7C 0E 0A 70
    #mono attributes
    07 07 07 07 0F 0F 0F 0F 70 70 07 70 0F 70 01 07 0F 0F 70 0F 07 07 70 07 07 70
    #default tabs
    68K 0F 17 28 30 00 00 00 00
    658 0F 17 28 30 00 00 00 00
    Z80 0F 17 28 30 00 00 00 00
    C 04 00 00 00 00 00 00 00
    #expression C/ASM flags
    00 00 00 00 00
    #window
    01 00 00 01
    00 01 4F 0A 0A 02
    00000000
    #window
    85 00 40 01
    00 0A 4F 21 08 12
    00000016
    #file
    C:\SOULSTAR.32X\ROTSPR.SH2
    #tabs
    08 00 00 00 00 00 00 00

    #window
    03 02 00 01
    00 21 4F 2D 16 22
    06001B48
    #history
    02 rotspr.sh2
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    07 $fffff0
    0A $ffff802e
    0A ffff802e
    0A ff802e
    0A sp
    0A pwmstructs
    0A playpwm
    0A pwm_irq
    0A frame_table+(o_digit*4)[/codebox]

    This seems to be another copy of the PWM Sample Program source, but changed slightly near the end:

    [codebox]; PWM Sample Program
    ; SH2 Master Main
    ;
    ; Copyright SEGA ENTERPRISES,LTD. 1994
    ;---------------------------------------------------------------*
    ;****************************************************************

    cnop 0,4

    ******************************************
    * Initialize the PWM interupt and driver *
    ******************************************

    initPWM
    move #$20004030,r2
    move #1047,r0 ;1047 set cycle register (22Khz)
    move.w r0,(2,r2)

    move #$0305,r0 ;105 set control register
    move.w r0,(r2)

    move #$20004030,r2 ;fill mono fifo
    move #1,r0
    move.w r0,(8,r2)
    move.w r0,(8,r2)
    move.w r0,(8,r2)

    rts
    nop

    cnop 0,4

    lits

    cnop 0,4

    ************************************************
    * Play an 8 bit sample throught the PWM ciruit *
    ************************************************
    ; input
    ; R1 = Address of sample
    ; R2 = length of sample
    ; R3 = channel number
    ; R4 = step value

    PlayPWM
    move #comport1,r0
    move.w (r0)+,r1 ;get sfx number
    move.w (r0)+,r4 ;get step rate
    move.w (r0)+,r2 ;get volume

    move #sample_table,r0
    shll2 r1
    shll r1
    add r1,r0
    move (r0)+,r2 ;get length
    move (r0)+,r1 ;get address

    move #sfx_chan,r5 ;get channel to play
    move (r5),r0
    add #1,r0
    and #3,r0
    move r0,(r5)
    move r0,r3

    move r2,r0
    shll8 r0
    move #pwmstructs+TH,r2
    shll2 r3
    shll2 r3
    add r3,r2
    move r0,(r2) ;store sample length (bytes)

    cmpeq #0,r0
    bt .done_pwm

    move r4,(PWMSTEP,r2) ;store step rate
    shll8 r1
    move r1,(PWMADDR,r2) ;store sample address

    .done_pwm
    rts
    nop

    cnop 0,4

    sfx_chan dc.l 0

    lits

    *************************
    * PWM interrupt handler *
    *************************

    cnop 0,4
    spwm_irq
    push r0
    push r1
    push r2
    push r3
    push r4
    push r5
    push r6

    move #$20004038,r2
    move.b (r2),r0 ;is pwm fifo full?
    tst #$80,r0
    bf .exit

    push pr
    bsr process_pwm
    nop
    pop pr
    .exit
    move #_FRT,r1 ;tweak FRT
    move.b (_TOCR,r1),r0
    xor #$02,r0
    move.b r0,(_TOCR,r1)

    move #$2000401C,r2 ;clear irq
    move.w r0,(r2)
    move.w (r2),r0

    pop r6
    pop r5
    pop r4
    pop r3
    pop r2
    pop r1
    pop r0

    rts
    nop

    LITS

    cnop 0,4

    NUMCHANNELS equ 4
    PWMSIZE equ 4 ; number of elemts in the PWM structure

    PWMADDR equ 4
    PWMSTEP equ 8

    *****************
    * Fill PWM FIFO *
    *****************

    process_pwm
    move #$20004038,r2
    .loop
    move #pwmstructs+TH,r3
    move #NUMCHANNELS,r4
    move #0,r5

    .channelloop
    move (r3),r0 ;is channel on?
    cmppz r0
    bf/s .skip
    move.w #$80,r1 ;if channel off, use $7f (flat)

    move (PWMSTEP,r3),r6
    sub r6,r0
    move r0,(r3)

    move (PWMADDR,r3),r0 ;get the next pcm byte
    move r0,r1
    add r6,r0
    move r0,(PWMADDR,r3)
    shlr8 r1
    move #samp_base,r0
    move.b (r0,r1),r1
    extu.b r1,r1
    .skip
    add #PWMSIZE*4,r3

    add #1,r1 ;make sure it's not 0
    add r1,r5

    dt r4
    bf .channelloop

    move.w r5,(r2) ;store into mono width

    move.b (r2),r0 ;is pwm fifo full?
    tst #$80,r0
    bt .loop

    * player ship
    [/codebox]

    Like I said, there are TONS of other stuff in here. Possibly some snippets from the actual computer it was compiled on. Definetly needs checking out.

    More to come, hopefully.
     
  19. I seem to recall Link's Awakening having some uncompiled code in it; interestingly, there was some sort of reference to QBasic inside.
     
  20. evilhamwizard

    evilhamwizard

    Researcher
    1,351
    276
    63
    <!--quoteo(post=413752:date=Feb 20 2010, 03:30 PM:name=K2J)--><div class='quotetop'>QUOTE (K2J @ Feb 20 2010, 03:30 PM) <a href="index.php?act=findpost&pid=413752">[​IMG]</a></div><div class='quotemain'><!--quotec-->I seem to recall Link's Awakening having some uncompiled code in it; interestingly, there was some sort of reference to QBasic inside.<!--QuoteEnd--></div><!--QuoteEEnd-->


    <a href="http://www.pagetable.com/?p=28" target="_blank">I remember this.</a>

    It's nothing interesting. This is from a Russian translation (hacked) version of the game, which the translators disassembled the rom to help them add space for characters, etc.