Captain Spazer Posted September 12, 2016 Share Posted September 12, 2016 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 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted September 12, 2016 Share Posted September 12, 2016 Are you using the Title Screen Kernel Editor that comes with Visual batari Basic? Quote Link to comment Share on other sites More sharing options...
Captain Spazer Posted September 12, 2016 Author Share Posted September 12, 2016 Yes, I am =) Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted September 12, 2016 Share Posted September 12, 2016 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 Quote Link to comment Share on other sites More sharing options...
Captain Spazer Posted September 12, 2016 Author Share Posted September 12, 2016 (edited) 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 September 12, 2016 by Captain Spazer Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted September 12, 2016 Share Posted September 12, 2016 You're not supposed to use "titledrawscreen" in the bank. That could be screwing things up. Quote Link to comment Share on other sites More sharing options...
Captain Spazer Posted September 12, 2016 Author Share Posted September 12, 2016 (edited) Okay, I don't get a compilation error anymore, but the titlescreen is all black now, hm... Edited September 12, 2016 by Captain Spazer Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted September 12, 2016 Share Posted September 12, 2016 If you read the PDF file and are still getting errors, the only way to know what is going on would be for you to zip up your folder that includes the title screen stuff and attach it here or in a PM if you don't want it public. Quote Link to comment Share on other sites More sharing options...
Captain Spazer Posted September 12, 2016 Author Share Posted September 12, 2016 (edited) Alright. Thanks, man! I Managed to get rid of the syntax error, but I get a blackscreen now >_>rotor boy 2.0.zip Edited September 12, 2016 by Captain Spazer Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted September 12, 2016 Share Posted September 12, 2016 You had "gosub titledrawscreen bank3" instead of "gosub titledrawscreen bank4". The bank numbers need to match. Either change bank3 to bank4 or move the title screen asm code to bank 3. Quote Link to comment Share on other sites More sharing options...
Captain Spazer Posted September 12, 2016 Author Share Posted September 12, 2016 Thanks, works like a charm! It's hard to keep track of so many things, I'm glad you where available to help me out =) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.