/[projet1]/users/chema/Elite Clone/Universe/galaxy.s
Defence Force logotype

Diff of /users/chema/Elite Clone/Universe/galaxy.s

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 115 by Chema, Wed Jun 24 15:39:13 2009 UTC revision 116 by Chema, Wed Jun 24 17:51:28 2009 UTC
# Line 1  Line 1 
1    #define itoa itoa2
2    
3  ; Functions to re-create galaxy and market of Elite  ; Functions to re-create galaxy and market of Elite
4  ; adapted from the TextElite C source  ; adapted from the TextElite C source
# Line 2859  loopsp Line 2859  loopsp
2859            
2860  +print_float  +print_float
2861      jsr itoa      jsr itoa
2862    +print_bufconv
2863  loop  loop
2864      ldx #0      ldx #0
2865  text  text
# Line 3046  mkt_status Line 3047  mkt_status
3047      lda #<str_cash      lda #<str_cash
3048      jsr print      jsr print
3049      jsr put_space      jsr put_space
3050      lda #0  
3051      sta op2      ldx #3
3052      sta op2+1  loop
3053      jsr print_float      lda _cash,x
3054        sta op1,x
3055        dex
3056        bpl loop
3057        jsr ltoa
3058        jsr print_bufconv
3059      jsr put_space      jsr put_space
3060      ldx #>str_credits      ldx #>str_credits
3061      lda #<str_credits      lda #<str_credits
# Line 3057  mkt_status Line 3063  mkt_status
3063    
3064  .)  .)
3065    
3066    
3067    
3068    ; Check if we have enough cash to pay op2,op2+1 credits
3069    ; C=0 no cash, C=1, we have cash
3070    enough_cash
3071    .(
3072        lda _cash+3
3073        ora _cash+2
3074        bne havecash
3075        lda _cash+1
3076        sta op1+1
3077        lda _cash
3078        sta op1
3079        jmp cmp16
3080    havecash
3081        sec
3082        rts
3083    .)
3084    
3085    
3086    ; Pay the value in op2,op2+1
3087    dec_cash
3088    .(
3089        ; decrement cash
3090        ; 32-bit substraction here
3091        sec
3092        lda _cash
3093        sbc op2
3094        sta _cash
3095        lda _cash+1
3096        sbc op2+1
3097        sta _cash+1
3098        bcs nomore    
3099        lda _cash+2
3100        sbc #0
3101        sta _cash+2
3102        bcs nomore
3103        dec _cash+3
3104    nomore
3105        rts
3106    .)
3107    
3108    
3109    ; Add op2,op2+1 credits to player
3110    inc_cash
3111    .(
3112       ; increment cash
3113        ; 32-bit addition here
3114        clc
3115        lda _cash
3116        adc op2
3117        sta _cash
3118        lda _cash+1
3119        adc op2+1
3120        sta _cash+1
3121        bcc nomore    
3122        lda _cash+2
3123        adc #0
3124        sta _cash+2
3125        bcc nomore
3126        inc _cash+3
3127    nomore
3128        rts
3129    .)
3130    
3131    
3132  _buy  _buy
3133  .(  .(
3134      ; check if there is something for sale      ; check if there is something for sale
# Line 3065  _buy Line 3137  _buy
3137      beq nosell      beq nosell
3138            
3139      ; check for cash      ; check for cash
3140        ; Get price in op2
3141        stx savx+1
3142        txa
3143        asl
3144        tax
3145        lda _prices,x
3146        sta op2
3147        lda _prices+1,x
3148        sta op2+1
3149    savx
3150        ldx #0  ;SMC  
3151    
3152        jsr enough_cash
3153        bcc nocash
3154    
3155      ; check for cargo space      ; check for cargo space
3156      lda Units,x      lda Units,x
# Line 3076  space Line 3162  space
3162    
3163      dec _quantities,x      dec _quantities,x
3164      inc _shipshold,x          inc _shipshold,x    
       
     ; decrement cash  
3165    
3166        jsr dec_cash
3167      jmp update_mkt      jmp update_mkt
3168  nosell  nosell
3169  nospace  nospace
# Line 3101  space Line 3186  space
3186      inc _quantities,x      inc _quantities,x
3187      dec _shipshold,x          dec _shipshold,x    
3188            
3189      ; increment cash      ; Get price in op2
3190        txa
3191        asl
3192        tax
3193        lda _prices,x
3194        sta op2
3195        lda _prices+1,x
3196        sta op2+1
3197            
3198        jsr inc_cash
3199        
3200      jmp update_mkt      jmp update_mkt
3201    
3202  nosell  nosell

Legend:
Removed from v.115  
changed lines
  Added in v.116

  ViewVC Help
Powered by ViewVC 1.1.26