Jump to content
IGNORED

Titlescreen syntax error


Captain Spazer

Recommended Posts

I'm getting a syntax error on my titlescreen, what did I miss?

TITLESCREEN





 ; *** if you want to modify the bitmap color on the fly, just dim a
 ; *** variable in bB called 'bmp_48x1_1_color' , and use it to set the
 ; *** color.

 ;*** The height of the displayed data...
bmp_48x1_1_window = 48

 ;*** The height of the bitmap data. This can be larger than
 ;*** the displayed data height, if you are scrolling or animating
 ;*** the data...
bmp_48x1_1_height = 48

 ifnconst bmp_48x1_1_color
bmp_48x1_1_color
 endif
 ; *** this is the bitmap color. If you want to change it in a 
 ; *** variable instead, dim one in bB called bmp_48x1_1_color
	.byte $0c


   if >. != >[.+bmp_48x1_1_height]
      align 256
   endif

bmp_48x1_1_00

	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000110
	BYTE %00000011
	BYTE %00000001
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %01001001
	BYTE %01001010
	BYTE %01110010
	BYTE %01001010
	BYTE %01001010
	BYTE %01111001
	BYTE %00000000

   if >. != >[.+(bmp_48x1_1_height)]
      align 256
   endif

bmp_48x1_1_01

	BYTE %11000000
	BYTE %00110000
	BYTE %00011000
	BYTE %00001110
	BYTE %00000011
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000001
	BYTE %00000001
	BYTE %00000001
	BYTE %00000001
	BYTE %00000000
	BYTE %00000111
	BYTE %00001100
	BYTE %00001000
	BYTE %00011000
	BYTE %00010000
	BYTE %00010000
	BYTE %00011000
	BYTE %00001000
	BYTE %00000110
	BYTE %00001101
	BYTE %00001000
	BYTE %00011000
	BYTE %00010000
	BYTE %00010000
	BYTE %00011000
	BYTE %00001100
	BYTE %10111110
	BYTE %11100011
	BYTE %01000000
	BYTE %01100000
	BYTE %00110000
	BYTE %00011000
	BYTE %00000000
	BYTE %00000000
	BYTE %11000010
	BYTE %00100010
	BYTE %00100010
	BYTE %00100010
	BYTE %00100010
	BYTE %11001111
	BYTE %00000000

   if >. != >[.+(bmp_48x1_1_height)]
      align 256
   endif

bmp_48x1_1_02

	BYTE %00000111
	BYTE %00011100
	BYTE %00110000
	BYTE %01000000
	BYTE %11000000
	BYTE %11100001
	BYTE %00100000
	BYTE %00100000
	BYTE %00110000
	BYTE %00010000
	BYTE %01111000
	BYTE %11001100
	BYTE %10110100
	BYTE %00100000
	BYTE %00000000
	BYTE %11100110
	BYTE %10001110
	BYTE %10111010
	BYTE %11100010
	BYTE %01000110
	BYTE %00000100
	BYTE %00000100
	BYTE %00000111
	BYTE %00000001
	BYTE %00000000
	BYTE %00000000
	BYTE %10000000
	BYTE %11000000
	BYTE %01100000
	BYTE %00010000
	BYTE %00011100
	BYTE %00001111
	BYTE %00000101
	BYTE %00011100
	BYTE %11110000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00011100
	BYTE %00100010
	BYTE %00100010
	BYTE %00100010
	BYTE %00100010
	BYTE %10011100
	BYTE %00000000

   if >. != >[.+(bmp_48x1_1_height)]
      align 256
   endif

bmp_48x1_1_03

	BYTE %10000001
	BYTE %10000111
	BYTE %10111000
	BYTE %11100000
	BYTE %10111111
	BYTE %11000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00111110
	BYTE %01100010
	BYTE %01011110
	BYTE %01100000
	BYTE %01000000
	BYTE %00000011
	BYTE %00000100
	BYTE %00000000
	BYTE %00000000
	BYTE %00011100
	BYTE %00100011
	BYTE %00100110
	BYTE %00100010
	BYTE %00011101
	BYTE %00000000
	BYTE %11111111
	BYTE %00000000
	BYTE %00000000
	BYTE %00000001
	BYTE %11111111
	BYTE %11110000
	BYTE %00011111
	BYTE %00000000
	BYTE %00000000
	BYTE %11111111
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %10010001
	BYTE %10010001
	BYTE %11100101
	BYTE %10010001
	BYTE %10010001
	BYTE %11110001
	BYTE %00000000

   if >. != >[.+(bmp_48x1_1_height)]
      align 256
   endif

bmp_48x1_1_04

	BYTE %11000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %10000000
	BYTE %11100000
	BYTE %00110000
	BYTE %00110000
	BYTE %01100000
	BYTE %01000000
	BYTE %11000000
	BYTE %10000000
	BYTE %10000000
	BYTE %11111000
	BYTE %00001000
	BYTE %00000100
	BYTE %00001100
	BYTE %00011000
	BYTE %11110000
	BYTE %11000000
	BYTE %01000000
	BYTE %10000000
	BYTE %01110000
	BYTE %11010000
	BYTE %00110000
	BYTE %01100000
	BYTE %11000000
	BYTE %00000000
	BYTE %00000000
	BYTE %11111000
	BYTE %00110000
	BYTE %11000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %11100111
	BYTE %00101000
	BYTE %11001000
	BYTE %00101000
	BYTE %00101000
	BYTE %11100111
	BYTE %00000000

   if >. != >[.+(bmp_48x1_1_height)]
      align 256
   endif

bmp_48x1_1_05

	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00000000
	BYTE %00001000
	BYTE %10001000
	BYTE %10001000
	BYTE %10001000
	BYTE %10010100
	BYTE %00100010
	BYTE %00000000






 drawscreen


 goto TITLESCREEN

Link to comment
Share on other sites

If the stuff you posted is in your main program, you're doing it wrong for sure. Using bank 4 as an example, the __Title_Screen_Loop should have something like "gosub titledrawscreen bank4" in it and bank 4 would look like this:


   bank 4
   asm
   include "titlescreen/asm/titlescreen.asm"
end
Link to comment
Share on other sites

I still get a compilation error. I followed the steps on the link you posted and I added the code you wrote up, don't work. I must be daft >_>

   ;****************************************************************
   ;
   ;  This program uses the DPC+ kernel.
   ;
   set kernel DPC+


   ;****************************************************************
   ;
   ;  Standard used in North America and most of South America.
   ;
   set tv ntsc


   ;****************************************************************
   ;
   ;  Helps player1 sprites register a collision with the playfield.
   ;
   set kernel_options collision(player1,playfield)


   ;***************************************************************
   ;
   ;  Variable aliases go here (DIMs).
   ;
   ;***************************************************************
   ;
   ;  (You can have more than one alias for each variable.)
   ;
   ;```````````````````````````````````````````````````````````````
   ;  Scroll counter.
   ;
   dim _Scroll_Counter = a

   ;```````````````````````````````````````````````````````````````
   ;  Bits for various jobs.
   ;
   dim _Bit0_Reset_Restrainer = y
   dim _Bit7_Flip_Scroll = y



   goto __Bank_2 bank2



   bank 2
   temp1=temp1



__Bank_2



   ;***************************************************************
   ;***************************************************************
   ;
   ;  Program Start/Restart
   ;
__Start_Restart


   ;***************************************************************
   ;
   ;  Displays the screen to avoid going over 262 when reset.
   ;
   drawscreen


   ;***************************************************************
   ;
   ;  Clears the playfield.
   ;
   pfclear


   ;***************************************************************
   ;
   ;  Mutes volume of both sound channels.
   ;
   AUDV0 = 0 : AUDV1 = 0


   ;***************************************************************
   ;
   ;  Clears all normal variables and the extra 9 (fastest way).
   ;
   a = 0 : b = 0 : c = 0 : d = 0 : e = 0 : f = 0 : g = 0 : h = 0 : i = 0
   j = 0 : k = 0 : l = 0 : m = 0 : n = 0 : o = 0 : p = 0 : q = 0 : r = 0
   s = 0 : t = 0 : u = 0 : v = 0 : w = 0 : x = 0 : y = 0 : z = 0
   var0 = 0 : var1 = 0 : var2 = 0 : var3 = 0 : var4 = 0
   var5 = 0 : var6 = 0 : var7 = 0 : var8 = 0

 set smartbranching


titlepage
 gosub titledrawscreen bank4
 if joy0fire || switchreset then goto gamestart
 if !switchselect then swdebounce=0
 if swdebounce>0  then swdebounce=swdebounce-1: goto titlepage
 if switchselect then swdebounce=30: gamenumber=gamenumber+1
 if gamenumber=21 then gamenumber=1
 goto titlepage


 dim M0_X = missile0x.d
 dim M0_Y = missile0y.e

 dim M1_X = missile1x.g
 dim M1_Y = missile1y.h

 dim P1_X = player1x.i
 dim P1_Y = player1y.j

 dim P2_X = player2x.o
 dim P2_Y = player2y.p

   ;***************************************************************
   ;
   ;  Playfield data.
   ;
 playfield:
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 ..XX.XXX....XXXXXXX.XXXXXXXXXXXX
 ......X......XXX.....XXXX..XX...
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................ 
 ................................
 ................................
 ................................
 ................................
 ................................ 
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................ 
 ................................
 ................................
 ................................
 ................................
 ................................ 
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................ 
 ................................
 ................................
 ................................
 ................................
 ................................ 
 ................................
 ................................
 ................................
 ................................
 ................................
 ................................ 
 ................................
 ................................
 ................................
 ................................
 ................................ 
 ................................
 ................................
 ................................
 ................................
 ................................
 ........XXX..............XXX....
 ....XXXXXXXXX..XXXXXXXXXXXXXXX..
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
end



   ;***************************************************************
   ;
   ;  Playfield colors.
   ;
   pfcolors:
   $0E
   $0C
   $0A
   $08
   $06
   $1E
   $1C
   $1A
   $18
   $16
   $2E
   $2C
   $2A
   $28
   $26
   $3E
   $3C
   $3A
   $38
   $36
   $4E
   $4C
   $4A
   $48
   $46
   $5E
   $5C
   $5A
   $58
   $56
   $6E
   $6C
   $6A
   $68
   $66
   $7E
   $7C
   $7A
   $78
   $76
   $9E
   $9C
   $9A
   $98
   $96
   $AE
   $AC
   $AA
   $A8
   $A6
   $BE
   $BC
   $BA
   $B8
   $B6
   $CE
   $CC
   $CA
   $C8
   $C6
   $DE
   $DC
   $DA
   $D8
   $D6
   $EE
   $EC
   $EA
   $E8
   $E6
   $3E
   $3C
   $3A
   $38
   $36
   $4E
   $4C
   $4A
   $48
   $46
   $5E
   $5C
   $5A
   $58
   $56
   $6E
   $6C
   $6A
   $68
   $66
   $7E
   $7C
   $7A
   $78
   $76
   $8E
   $8C
   $8A
   $88
   $86
   $9E
   $9C
   $9A
   $98
   $96
   $BE
   $BC
   $BA
   $B8
   $B6
   $CE
   $CC
   $CA
   $C8
   $C6
   $FE
   $FC
   $FA
   $F8
   $F6
end


  

   ;***************************************************************
   ;
   ;  Score colors.
   ;
   scorecolors:
   $1E
   $1C
   $1A
   $1A
   $18
   $18
   $16
   $16
end


   ;***************************************************************
   ;
   ;  Restrains the reset switch for the main loop.
   ;
   ;  This bit fixes it so the reset switch becomes inactive if
   ;  it hasn't been released after being pressed once.
   ;
   _Bit0_Reset_Restrainer{0} = 1




   ;***************************************************************
   ;***************************************************************
   ;
   ;  Main Loop
   ;
gamestart
 player0x=25 : player0y=50
 missile0x=70 : missile0y=50
 missile1x=135 : missile1y=50


__Main_Loop




   ;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
   ;```````````````````````````````````````````````````````````````
   ;
   ;  Gameplay logic goes here.
   ;
   ;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
   ;```````````````````````````````````````````````````````````````

 rem moves rotorboy up when pressing the firebutton
 if c=0 then player0y=player0y+1
 if c=1 then player0y=player0y-1

 if c=0 then AUDV0=5 : AUDF0=17 : AUDC0=14
 if c=1 then AUDV0=5 : AUDF0=10 : AUDC0=14
 if c=0 then  b=b+1
 if c=1 then b=b+2
 if joy0fire then c=1 else c=0

 missile0height=50
 missile1height=50


 rem WALL1 LOGIC
 if e=0 then M0_X = M0_X - 0.50
 if missile0x<25 then e=1
 if e=1 then missile0x=255 : missile0y=255
 if missile0x=255 && missile0y=255 then missile0x=140 : missile0y=rand : e=0
 if missile0y>77 then e=1
 if missile0y<30 then e=1


 rem WALL2 LOGIC
 if f=0 then M1_X = M1_X - 0.50
 if missile1x<25 then f=1
 if f=1 then missile1x=255 : missile1y=255
 if missile1x=255 && missile1y=255 then missile1x=140 : missile1y=rand : f=0
 if missile1y>77 then f=1
 if missile1y<30 then f=1

 rem APPLE LOGIC
 if k=0 then P1_X = P1_X - 0.50
 if player1x<25 then k=1
 if k=1 then player1x=255 : player1y=255
 if player1x=255 && player1y=255 then player1x=140 : player1y=rand : k=0
 if player1y>77 then k=1
 if player1y<30 then k=1

 rem ENEMY1 LOGIC
 if n=0 then P2_X = P2_X - 0.50
 if player2x<25 then n=1
 if n=1 then player2x=255 : player2y=255
 if player2x=255 && player2y=255 then player2x=140 : player2y=rand : n=0
 if player2y>77 then n=1
 if player2y<30 then n=1

 rem get 5 points when collecting the apple
 if collision(player0,player1) then score=score+5 : player1x=255 : player1y=255

 if collision(player0,player2) then reboot
 if collision(player0,missile0) then reboot
 if collision(player0,missile1) then reboot

 if collision(player1, missile0) then k=1
 if collision(player1, missile1) then k=1




 if collision(player1,player2) then player1x=135 : player1y=rand : player2x=135 : player2y=rand

 rem get 1 point every second
 q=q+1
 if q=60 then score=score+1 : q=0



   ;***************************************************************
   ;
   ;  88 rows that are 2 scanlines high.
   ;
   DF6FRACINC = 255 ; Background colors.
   DF4FRACINC = 255 ; Playfield colors.

   DF0FRACINC = 128 ; Column 0.
   DF1FRACINC = 128 ; Column 1.
   DF2FRACINC = 128 ; Column 2.
   DF3FRACINC = 128 ; Column 3.


   ;***************************************************************
   ;
   ;  Displays the screen.
   ;
   drawscreen

 if b= 10 then player0:
 %11111110
 %00010000
 %01111100
 %10111010
 %10010010
 %01111100
 %00111000
 %00111000
 %00101000
 %01010000
end

 if b=20 then player0:
 %01111100
 %00010000
 %01111100
 %10111010
 %10010010
 %01111100
 %00111000
 %00111000
 %00101000
 %01010000
end

 if b=30 then player0:
 %00111000
 %00010000
 %01111100
 %10111010
 %10010010
 %01111100
 %00111000
 %00111000
 %00101000
 %01010000
end

 if b=40 then player0:
 %00010000
 %00010000
 %01111100
 %10111010
 %10010010
 %01111100
 %00111000
 %00111000
 %00101000
 %01010000
end

 if b>40 then b=0

 rem apple
 player1:
 %00001100
 %00011000
 %01100110
 %11111111
 %11111111
 %11111101
 %11111011
 %01111110
 %01111110
 %00100100
end

 rem enemy1
 player2:
 %10000001
 %01111110
 %01100110
 %01011010
 %01011010
 %01100110
 %01111110
 %10000001
end




   player1color:
   $DA
   $DA
   $44
   $44
   $44
   $44
   $44
   $44
   $44
   $44
end
   player0color:
   $0C
   $0C
   $44
   $2E
   $2E
   $CC
   $CC
   $CC
   $A8
   $A8
end

   COLUM0 = $FE : COLUM1 = $AC


   ;***************************************************************
   ;
   ;  Reset switch check and end of main loop.
   ;
   ;  Any Atari 2600 program should restart when the reset  
   ;  switch is pressed. It is part of the usual standards
   ;  and procedures.
   ;
   ;```````````````````````````````````````````````````````````````
   ;  Turns off reset restrainer bit and jumps to beginning of
   ;  main loop if the reset switch is not pressed.
   ;
   if !switchreset then _Bit0_Reset_Restrainer{0} = 0 : goto __Main_Loop

   ;```````````````````````````````````````````````````````````````
   ;  Jumps to beginning of main loop if the reset switch hasn't
   ;  been released after being pressed.
   ;
   if _Bit0_Reset_Restrainer{0} then goto __Main_Loop

   ;```````````````````````````````````````````````````````````````
   ;  Restarts the program.
   ;
   goto __Start_Restart



   bank 3
   temp1=temp1

   bank 4
titledrawscreen
 asm
 include "titlescreen/asm/titlescreen.asm"
end


   bank 5
   temp1=temp1


   bank 6
   temp1=temp1
Edited by Captain Spazer
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...