rem *Bank Switch* set romsize 128k displaymode 160A set tv ntsc set zoneheight 16 set screenheight 224 set tallsprite off doublebuffer on set zoneprotection on set basepath graphics set plotvalueonscreen on rem *** Other Constants *** const popeyePunchSet=10 rem * variables * dim brutusX=a dim brutusY=b dim brutusYY=c dim st=d dim brutusFrame=e dim brutusDir=f dim brutusmode=g dim brutustime=h dim punchRelease=j dim popeyeX=k dim popeyeY=l dim popeyeYY=m dim popeyePunchDir=n dim popeyeST=o dim popeyeFR=p dim popeyeDir=q dim brutusjump=r dim brutusLook=s dim popeyePunch=var47 dim popeyeStep=u dim popeyeStepStage=v dim currentLevel=w dim popeyeStepDir=x dim IntervalCount=y dim popeyeSpinachMax=z dim popeyeFall=var0 dim displayBag=var1 dim bagX=var2 dim bagY=var3 dim bagAnimate=var4 dim displayBucket=var5 dim bucketAnimate=var6 dim bucketX=var7 dim bucketY=var8 dim oliveX=var9 dim oliveDir=var10 dim oliveStep=var11 dim heartCount=var12 dim popeyeClimb=var13 dim showSpinach=var14 dim spinachPos=var15 dim spinachY=var16 dim brutusHop=var17 dim popeyeSpinachPower=var18 dim punchX=var19 dim brutusFlyDirX=var20 dim brutusCount=var21 dim popeyeDeath=var22 dim boxX=var23 dim boxY=var24 dim boxXX=var25 dim boxYY=var26 dim triggerHeartDrop=var27 dim GeneralX=var28 dim GeneralY=var29 dim notedur0=var30 dim notedur1=var31 dim notedur2=var32 dim notedur3=var33 dim noteindex0=var34 dim noteindex1=var35 dim noteindex2=var35 dim noteindex3=var37 dim notefreq0=var38 dim notefreq1=var39 dim notefreq2=var40 dim notefreq3=var41 dim notevol0=var42 dim notevol1=var43 dim notevol2=var44 dim notevol3=var45 dim spinachX=var46 dim rattlescreen=var48 dim heartX=var49 dim heartY=var53 dim heartDX=var57 dim heartDY=var61 dim heartShow=var65 dim heartTime=var69 dim loop=var70 dim boxXX2=var71 dim boxYY2=var72 dim returnFunc=var73 dim stairLoop=var74 dim heartInterval=var75 dim heartPal=var76 dim popeyeLives=var77 dim bottleX=var78 dim bottleY=var84 dim bottleDX=var90 dim bottleFrameL=var96 dim bottleFrameR=var97 dim bottleFrame=var98 dim brutusThrowBottle=$2200 dim hagThrowBottle=$2201 dim seaHagPosition=$2202 dim frame=$2203 dim scorX=$2204 dim scorY=$2205 dim scorTime=$2206 dim scorMode=$2207 dim playtune=$2208 dim triggerHeartMusic=$2209 dim stepCounter=$220A dim brutusJumpDir=$220B dim brutusSwishCount=$220C dim brutusDontUseStairs=$220D dim oliveKiss=$220E dim oliveKissIndexToMake=$220F dim popeyeLoopUp=$2210 dim popeyeLoopDown=$2211 dim brutusLoopUp=$2212 dim brutusLoopDown=$2213 dim oliveY=$2214 dim oliveLeft=$2215 dim oliveRight=$2216 dim round=$2217 dim popeyeClimbDir=$2218 const PAUDF0 = PAUDF0 const PAUDC0 = PAUDC0 const PAUDF1 = PAUDF1 const PAUDC1 = PAUDC1 const PAUDF2 = PAUDF2 const PAUDC2 = PAUDC2 const PAUDF3 = PAUDF3 const PAUDC3 = PAUDC3 const PAUDCTL = PAUDCTL const PRANDOM = PRANDOM const PSKCTL = PSKCTL gosub InitializeGraphics Main1 restorescreen punchRelease=10 gosub PlotLevel1 bank2 punchRelease=10 gosub PlotLevel2 bank3 doublebuffer flip goto Main1 rem >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Bank 2 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< bank 2 PlotLevel1 gosub InitializeGraphics rem * Palettes * rem Background Tiles Brown, light br and Gray P0C1=$14 P0C2=$12 P0C3=$08 rem Background Yellow, brown, green P1C1=$F8 P1C2=$24 P1C3=$C3 rem punching bag P2C1=$08 P2C2=$66 P2C3=$84 rem Olive P3C1=$4C P3C2=$12 P3C3=$25 rem spinach P4C1=$C3 P4C2=$88 P4C3=$0D rem text P5C1=$45 P5C2=$08 P5C3=$12 rem Popeye P6C1=$20 P6C2=$4C P6C3=$56 rem Brutus P7C3=$0F P7C1=$4C P7C2=$92 rem * Tile * incgraphic Level1png.png 160A 0 2 1 3 0 incgraphic Level1apng.png 160A 0 1 2 3 1 incmapfile Level1a.tmx alphachars '0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ ' characterset NumLetpng clearscreen rem * Set Background * /* plotmapfile Level1a.tmx Level1a 0 0 40 16 */ plotmapfile Level1a.tmx Level1a 0 0 40 16 plotsprite PopeyeLife 7 129 38 savescreen Maine2 restorescreen if !joy0fire && punchRelease>0 then punchRelease=punchRelease-1 if joy0fire && punchRelease=0 then return otherbank plotsprite PopeyeLife 7 129 38 doublebuffer flip goto Maine2 rem >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Bank 3 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< bank 3 PlotLevel2 gosub InitializeGraphics rem * Palettes * rem Background Tiles Brown, light br and Gray P0C1=$14 P0C2=$12 P0C3=$08 rem Background pink light-blue red Level2 P1C1=$58 P1C2=$68 P1C3=$42 rem other house P2C1=$08 P2C2=$66 P2C3=$84 rem Olive P3C1=$4C P3C2=$12 P3C3=$25 rem spinach P4C1=$C3 P4C2=$88 P4C3=$0D rem text P5C1=$45 P5C2=$08 P5C3=$12 rem Popeye P6C1=$20 P6C2=$4C P6C3=$56 rem Brutus P7C3=$0F P7C1=$4C P7C2=$92 rem * Tile * incgraphic Level2png.png 160A 0 2 1 3 0 incgraphic Level2apng.png 160A 0 3 2 1 2 incgraphic Level2bpng.png 160A 0 2 1 3 1 incmapfile PopeyeLevel2.tmx /* incgraphic NumLetpng.png 160A 0 2 1 3 5 incgraphic Num.png 160A 0 2 1 3 5 incgraphic NumMidpng.png 160A 0 2 1 3 5 */ /* incgraphic PopeyeLife.png 160A 0 1 2 3 */ alphachars '0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ ' characterset Level2png clearscreen rem * Set Background * plotmapfile PopeyeLevel2.tmx PopeyeLevel2 0 0 40 16 plotsprite PopeyeLife 7 129 38 savescreen Maine3 restorescreen plotsprite PopeyeLife 7 129 38 if !joy0fire && punchRelease>0 then punchRelease=punchRelease-1 if joy0fire && punchRelease=0 then return otherbank doublebuffer flip goto Maine3 bank 8 InitializeGraphics rem text P5C1=$45 P5C2=$08 P5C3=$12 incgraphic NumLetpng.png 160A 0 2 1 3 5 incgraphic Num.png 160A 0 2 1 3 5 incgraphic NumMidpng.png 160A 0 2 1 3 5 incgraphic PopeyeLife.png 160A 0 1 2 3 return otherbank