Jump to content

BadBoy House

Members
  • Content Count

    24
  • Joined

  • Last visited

Posts posted by BadBoy House


  1. i have absolutely no programming experience whatsoever other than a 20 goto 10 basic three liner on the C64 20 years ago.

     

    i'd really like to be able to program a simple game on the atari 2600 and am not afraid to learn.

     

    can anyone point me in the right direction on where to start from the absolute beginning? and i mean beginning.

     

    the more basic the better.

     

    thanks in advance!


  2. i've been looking at a number of commented dissassemblies - one of the shorter ones is the code for Outlaw.

     

    What's confusing me is the commands that are used in each line:

     

    ; RAM variables:
    
    PF0Array            = $80  ; PF0 array, 18 Bytes
    ScoreshapeLow01     = $92  ; Shape of player 1 lower score digit
    ScoreshapeLow02     = $93  ; Shape of player 2 lower score digit
    ScoreshapeHi01      = $94  ; Shape of player 1 higher score digit
    ScoreshapeHi02      = $95  ; Shape of player 2 higher score digit
    
    
    ; Draws the playfield and bullet 1 & increments the kernels linecounter
    
    
                       STA PF2            ; Draw PF2
                       LDA vertPosition01 ; A-> vertical pos player 1
                       SBC lineCounter    ; Current pos above player1?
                       BPL SkipDraw2      ; Y: SkipDraw1
                       LDY shapeOffset01  ; Y-> shapeOffset01
                       LDA LF6FE,Y        ; A-> player 1 shape
                       TAY                ; Y-> player 1 shape
                       LDA PF0Array,X     ; A->PF0 data (obstacle)
                       STA.w $000D        ; Draw PF0 (4 cycles!)
                       LDA lineCounter    ; A->lineCounter
                       CMP bulletVerPos01 ; Check for bullet 1
                       PHP                ; En/Disable bullet 1
                       LDA PF1Array,X     ; A->PF1 data (obstacle)
                       STA PF1            ; Draw PF1
                       LDA PF2Array02,X   ; A->PF2 data (frame)
                       STA PF2            ; Draw PF2
                       PLA                ; Restore...
    
    

     

     

    Whilst there are comments which say what each line does, I'm interested to learn from a master list what each command does.

     

    For instance, these three lines:

     

    PF0Array            = $80  ; PF0 array, 18 Bytes
    ScoreshapeLow01     = $92  ; Shape of player 1 lower score digit
    PHP                ; En/Disable bullet 1

     

    where could i find out that the PHP command enables/disables bullets? and what the PF0Array command actually does.

     

     

    thanks in advance


  3. The power supply that came with my 2600 buzzes. i can get another one no problem i just need to know what power rating a new supply would need to be

     

    The model number on the bottom of the console says CX-2600 U. There are no voltage details on the console or on the power supply.

     

    thanks guys


  4. can anyone tell me what code portions would be needed in batari basic to create multiple sprites? i've experimented with the player0 and player1 code from the batari basic site but i'd like to create something with the player being chased by a number of other sprites (say 4 or 5).

     

    thanks in advance


  5. i'm new to collecting but have won a couple of auctions on ebay for multiple cartridge collections and one of the games is a boxed mint condition copy of Xenophobe which i believe to be quite a rare game. i only paid about £8 uk money for the whole set of games (about 10 carts)

     

    Anyway I was just wondering what good cart finds people have had and not paid much for...


  6. i fancy having a crack at learning how to program the 2600. i'm going to print out the main tutorial and go through that and also saw a post which recommended taking a 2k game and dissasembling it to go through the code.

     

    i did this with breakout although the code looks different to the combat dissasembly from the atariage site. here's a snapshot:

     

    VSYNC   =  $00
    VBLANK  =  $01
    WSYNC   =  $02
    NUSIZ0  =  $04
    NUSIZ1  =  $05
    COLUP0  =  $06
    COLUP1  =  $07
    COLUPF  =  $08
    COLUBK  =  $09
    CTRLPF  =  $0A
    PF0     =  $0D
    PF1     =  $0E
    PF2     =  $0F
    AUDC0   =  $15
    AUDF0   =  $17
    AUDV0   =  $19
    GRP0    =  $1B
    GRP1    =  $1C
    ENAM0   =  $1D
    ENAM1   =  $1E
    ENABL   =  $1F
    VDELBL  =  $27
    HMOVE   =  $2A
    HMCLR   =  $2B
    CXCLR   =  $2C
    CXP0FB  =  $32
    CXP1FB  =  $33
    CXM0FB  =  $34
    CXM1FB  =  $35
    CXBLPF  =  $36
    INPT0   =  $38
    SWCHA   =  $0280
    SWCHB   =  $0282
    INTIM   =  $0284
    TIM64T  =  $0296
    
          ORG $F000
    LF000: .byte $4C,$37,$F2
    LF003: LDY    #$04    
    LF005: STY    WSYNC   
          LDA    ($D0),Y 
          AND    #$0F    
          AND    $EE     
          STA    PF1     
          LDA    ($D2),Y 
          AND    #$0F    
          STA    $BB     
          LDA    ($D4),Y 
          AND    #$F0    
          ORA    $BB     
          STA    PF2     
          LDA    ($D6),Y 
          AND    #$F0    
          AND    $EE     
          STA    PF1     
          LDA    ($D8),Y 
          AND    #$0F    
          STA    PF2     
          INX            

     

     

    i guess it's not different at all - i just need to learn more although as breakout was one of my favourite games i thought i'd look at that first. also there doesnt seem to be crazy amounts of code for it either which i thought would be good from a learning point of view.

     

     

    anyway, with regards to going through the breakout code to find out what each line does, where would i be best to look to find out what lines like these do:

     

    HMOVE = $2A

    HMCLR = $2B

    CXCLR = $2C

    CXP0FB = $32

     

    and

     

     

    LF005: STY WSYNC

    LDA ($D0),Y

    AND #$0F

    AND $EE

    STA PF1

     

     

    thanks in advance

×
×
  • Create New...