Jump to content
IGNORED

DPC+?


Rabbit 2600

Recommended Posts

I think R.T. is compiling some information about DPC+

http://atariage.com/forums/topic/215256-need-help-compiling-and-updating-dpc-information/

 

I have no idea where the very, very latest DPC+ is. I don't think it officially got out of pre 1.0 status.

 

UPDATE: This topic *may* have it

http://atariage.com/forums/topic/209496-getting-started-with-the-dpc-kernel/

Link to comment
Share on other sites

The bB page has a growing section about the DPC+ kernel:

 

randomterrain.com/atari-2600-memories-batari-basic-commands.html#dpcplus

 

It tells you where to go to get the latest version of bB with the DPC+ kernel. This section also tells you where to get the latest version of bB with the DPC+ kernel:

 

randomterrain.com/atari-2600-memories-batari-basic-commands.html#gettingstarted

  • Like 1
Link to comment
Share on other sites

Awesome!

 

 

Hm, I do have a question about multisprites in DPC+

 

Player1 is set up like this;


  e=e+1
  rem POSSIBLY INEFFICIENT CODE, SEPARATE COLOR INFO FOR EACH FRAME...
  if e = 16 then player1:
        %01100000
        %00110000
        %00110100
        %01100110
        %01100010
        %01111100
        %00111100
        %10111001
        %10011001
        %01011010
        %00111110
        %00001100
        %00010010
        %00011110
        %00101101
        %00011110
end
   if e = 16 then player1color:
    $E6;
    $E6;
    $E4;
    $A4;
    $A6;
    $A6;
    $E4;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
end
  if e = 32 then player1:
        %00000000
        %00100110
        %00010100
        %00100110
        %01100110
        %00111100
        %00111100
        %00111100
        %10011001
        %11011011
        %00111100
        %00011000
        %00100100
        %00111100
        %01011010
        %00111100
end
   if e = 32 then player1color:
    $E6;
    $E6;
    $E4;
    $A4;
    $A6;
    $A6;
    $E4;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
end
  if e = 48 then player1:
        %00000011
        %00000110
        %00100110
        %01100011
        %01000011
        %00111110
        %00111100
        %00011100
        %00011000
        %10011001
        %11111111
        %00110000
        %01001000
        %01001000
        %10110100
        %01111000
end
   if e = 48 then player1color:
    $E6;
    $E6;
    $E4;
    $A4;
    $A6;
    $A6;
    $E4;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
end
  if e = 64 then player1:
        %00000000
        %00100110
        %00010100
        %00100110
        %01100110
        %00111100
        %00111100
        %00111100
        %10011001
        %11011011
        %00111100
        %00011000
        %00100100
        %00111100
        %01011010
        %00111100
end
   if e = 64 then player1color:
    $E6;
    $E6;
    $E4;
    $A4;
    $A6;
    $A6;
    $E4;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
end

  if e=64 then e=0

Do I simply need to copy this and rename it player2 instead of player1? Maybe multisprites can't be multicolored?

Link to comment
Share on other sites

Hm, I get an error saying:

Compile started at 2013-10-05 00:25:13
Compiling C:\atari\Dead Road\default.bas
DASM V2.20.07, Macro Assembler ©1988-2003
bytes of ROM space left
1820 bytes of ROM space left
1820 bytes of ROM space left
--- Unresolved Symbol List
pfcenter 0000 ???? (R )
player2height 0000 ???? (R )
kernelmacrodef 0000 ???? (R )
pfhalfwidth 0000 ???? (R )
player2pointerhi 0000 ???? (R )
player2pointerlo 0000 ???? (R )

Fatal assembly error: Source is not resolvable.
Errors were encountered during assembly.
2600 Basic compilation completed.
Compilation completed at 2013-10-05 00:25:14
view output file:///C:/atari/Dead Road/bin

 

Sourcecode:

  rem CODE INSPIRED BY Atarius Maximus at http://www.atariage.com/forums/index.php?showtopic=109288

 set kernel DPC+

   set kernel_options player1colors playercolors pfcolors


        set smartbranching on


   AUDV0=0
   AUDV1=0

  player0x = 77
  player0y = 85
  player1x = 77
  player1y = 30
 ballx = 50
 bally = 30

                                  dim _P1_L_R = player1x.a
                                  dim _P1_U_D = player1y.b
                                  dim _P0_L_R = player0x.c
                                  dim _P0_U_D = player0y.d

   const pfscore=1

   pfscore1 = 21

 pfscorecolor = $0E

main


 ballheight = 4

 CTRLPF = $21

 scorecolor = $0E


 player0:
        %00111000
        %00111000
        %00111000
        %00111000
        %00111000
        %00111000
        %00111000
        %00111000
        %00111000
        %00111000
        %00111000
        %00111000
        %00111000
        %00111000
        %00101000
        %00010000
end

 player0color:
    $04;
    $04;
    $04;
    $04;
    $04;
    $04;
    $04;
    $04;
    $04;
    $04;
    $04;
    $04;
    $04;
    $04;
    $04;
    $04;
end










  e=e+1
  rem POSSIBLY INEFFICIENT CODE, SEPARATE COLOR INFO FOR EACH FRAME...
  if e = 16 then player1:
        %01100000
        %00110000
        %00110100
        %01100110
        %01100010
        %01111100
        %00111100
        %10111001
        %10011001
        %01011010
        %00111110
        %00001100
        %00010010
        %00011110
        %00101101
        %00011110
end
   if e = 16 then player1color:
    $E6;
    $E6;
    $E4;
    $A4;
    $A6;
    $A6;
    $E4;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
end
  if e = 32 then player1:
        %00000000
        %00100110
        %00010100
        %00100110
        %01100110
        %00111100
        %00111100
        %00111100
        %10011001
        %11011011
        %00111100
        %00011000
        %00100100
        %00111100
        %01011010
        %00111100
end
   if e = 32 then player1color:
    $E6;
    $E6;
    $E4;
    $A4;
    $A6;
    $A6;
    $E4;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
end
  if e = 48 then player1:
        %00000011
        %00000110
        %00100110
        %01100011
        %01000011
        %00111110
        %00111100
        %00011100
        %00011000
        %10011001
        %11111111
        %00110000
        %01001000
        %01001000
        %10110100
        %01111000
end
   if e = 48 then player1color:
    $E6;
    $E6;
    $E4;
    $A4;
    $A6;
    $A6;
    $E4;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
end
  if e = 64 then player1:
        %00000000
        %00100110
        %00010100
        %00100110
        %01100110
        %00111100
        %00111100
        %00111100
        %10011001
        %11011011
        %00111100
        %00011000
        %00100100
        %00111100
        %01011010
        %00111100
end
   if e = 64 then player1color:
    $E6;
    $E6;
    $E4;
    $A4;
    $A6;
    $A6;
    $E4;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
    $E6;
end

  if e=64 then e=0






  s=s+1
  rem POSSIBLY INEFFICIENT CODE, SEPARATE COLOR INFO FOR EACH FRAME...
  if s = 16 then player2:
        %01100000
        %00110000
        %00110100
        %01100110
        %01100010
        %01111100
        %00111100
        %10111001
        %10011001
        %01011010
        %00111110
        %00001100
        %00010010
        %00011110
        %00101101
        %00011110
end

  if s = 32 then player2:
        %00000000
        %00100110
        %00010100
        %00100110
        %01100110
        %00111100
        %00111100
        %00111100
        %10011001
        %11011011
        %00111100
        %00011000
        %00100100
        %00111100
        %01011010
        %00111100
end

  if s = 48 then player2:
        %00000011
        %00000110
        %00100110
        %01100011
        %01000011
        %00111110
        %00111100
        %00011100
        %00011000
        %10011001
        %11111111
        %00110000
        %01001000
        %01001000
        %10110100
        %01111000
end

  if s = 64 then player2:
        %00000000
        %00100110
        %00010100
        %00100110
        %01100110
        %00111100
        %00111100
        %00111100
        %10011001
        %11011011
        %00111100
        %00011000
        %00100100
        %00111100
        %01011010
        %00111100
end

  if s=64 then s=0












 pfcolors:
 $04
 $04
 $04
 $D2
 $20
 $20
 $22
 $22
 $24
 $24
 $26
end


 playfield:
 .....XX.X...XXX......X...XX.....
 .XX..XX.X.X.XXX..X.X.XX..XX.X.X.
 .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 ................................
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
end







  drawscreen

  if joy0right then _P0_L_R = _P0_L_R + 0.50 
  if joy0left then _P0_L_R = _P0_L_R - 0.50 

  if _P1_U_D < _P0_U_D then _P1_U_D = _P1_U_D + 0.15
  if _P1_U_D > _P0_U_D then _P1_U_D = _P1_U_D - 0.15
 if player0x = player1x && joy0fire then player1y = 30 : player1x = rand : score = score + 10 : n = 11

 if player1y = player0y then o = 11 : player1x = rand : player1y = 30 : player0y = 85 : pfscore1 = pfscore1/4


 if player1x < 50 then player1x = rand
 if player1x > 135 then player1x = rand



   if n > 0 then AUDV0 = 15 : AUDC0 = 8 : AUDF0 = 30 : n = n - 1: if n = 0 then AUDV0 = 0

   if o > 0 then AUDV0 = 15 : AUDC0 = 7 : AUDF0 = 25 : o = o - 1: if o = 0 then AUDV0 = 0

 goto main

Link to comment
Share on other sites

Set kernel_options has to go.

DPC+ has all that in already.

Scorecolor: is different. It is defined like playerXcolor:

Usually with 8 color values then an end.

Fractional data fetchers must be set before each drawscreen.

Bank 1 is filled with bB so you have to "goto LABEL bank2" after set kernel DPC+

 

Bank 2

temp1=temp1

 

LABEL

 

See randomterrain.com for examples of DECFRACINC . Find one of my posts with .bas files and look at the top.

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...