mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-14 13:33:48 +00:00
sprites: in theory ship can move
This commit is contained in:
parent
7e89423a90
commit
3240451457
@ -21,6 +21,7 @@ LASTKEY = $F1
|
|||||||
PADDLE_STATUS = $F2
|
PADDLE_STATUS = $F2
|
||||||
TEMP = $FA
|
TEMP = $FA
|
||||||
WHICH = $FB
|
WHICH = $FB
|
||||||
|
TEMPY = $FC
|
||||||
|
|
||||||
OUTL = $FE
|
OUTL = $FE
|
||||||
OUTH = $FF
|
OUTH = $FF
|
||||||
@ -186,20 +187,117 @@ display_loop:
|
|||||||
;======================================================
|
;======================================================
|
||||||
|
|
||||||
; 4550 -- VBLANK
|
; 4550 -- VBLANK
|
||||||
; 488 -- draw ship (4+32+32+32+32+32+34+34+38+36+38+36+38+36+34)
|
; 1820 -- draw ship (130*14)
|
||||||
; -10 -- keypress
|
; -10 -- keypress
|
||||||
;=======
|
;=======
|
||||||
; 4084
|
; 2720
|
||||||
|
|
||||||
|
|
||||||
;==========================
|
;==========================
|
||||||
; draw the ship
|
; draw the ship
|
||||||
; at Y=64 for now
|
; at Y=64 for now
|
||||||
ldx #64 ; 2
|
|
||||||
ldy #0 ; 2
|
|
||||||
;====
|
|
||||||
; 4
|
|
||||||
|
|
||||||
|
ldy #64 ; 2
|
||||||
|
|
||||||
|
; line 0
|
||||||
|
ldx #0 ; 2
|
||||||
|
jsr sprite_line ; 6+120
|
||||||
|
;====
|
||||||
|
; 128
|
||||||
|
|
||||||
|
; line 1
|
||||||
|
iny ; 2
|
||||||
|
ldx #7 ; 2
|
||||||
|
jsr sprite_line ; 6+120
|
||||||
|
;====
|
||||||
|
; 130
|
||||||
|
|
||||||
|
; line 2
|
||||||
|
iny ; 2
|
||||||
|
ldx #14 ; 2
|
||||||
|
jsr sprite_line ; 6+120
|
||||||
|
;====
|
||||||
|
; 130
|
||||||
|
|
||||||
|
; line 3
|
||||||
|
iny ; 2
|
||||||
|
ldx #21 ; 2
|
||||||
|
jsr sprite_line ; 6+120
|
||||||
|
;====
|
||||||
|
; 130
|
||||||
|
|
||||||
|
; line 4
|
||||||
|
iny ; 2
|
||||||
|
ldx #28 ; 2
|
||||||
|
jsr sprite_line ; 6+120
|
||||||
|
;====
|
||||||
|
; 130
|
||||||
|
|
||||||
|
; line 5
|
||||||
|
iny ; 2
|
||||||
|
ldx #35 ; 2
|
||||||
|
jsr sprite_line ; 6+120
|
||||||
|
;====
|
||||||
|
; 130
|
||||||
|
|
||||||
|
; line 6
|
||||||
|
iny ; 2
|
||||||
|
ldx #42 ; 2
|
||||||
|
jsr sprite_line ; 6+120
|
||||||
|
;====
|
||||||
|
; 130
|
||||||
|
|
||||||
|
; line 7
|
||||||
|
iny ; 2
|
||||||
|
ldx #49 ; 2
|
||||||
|
jsr sprite_line ; 6+120
|
||||||
|
;====
|
||||||
|
; 130
|
||||||
|
|
||||||
|
; line 8
|
||||||
|
iny ; 2
|
||||||
|
ldx #56 ; 2
|
||||||
|
jsr sprite_line ; 6+120
|
||||||
|
;====
|
||||||
|
; 130
|
||||||
|
|
||||||
|
; line 9
|
||||||
|
iny ; 2
|
||||||
|
ldx #63 ; 2
|
||||||
|
jsr sprite_line ; 6+120
|
||||||
|
;====
|
||||||
|
; 130
|
||||||
|
|
||||||
|
; line 10
|
||||||
|
iny ; 2
|
||||||
|
ldx #70 ; 2
|
||||||
|
jsr sprite_line ; 6+120
|
||||||
|
;====
|
||||||
|
; 130
|
||||||
|
|
||||||
|
; line 11
|
||||||
|
iny ; 2
|
||||||
|
ldx #77 ; 2
|
||||||
|
jsr sprite_line ; 6+120
|
||||||
|
;====
|
||||||
|
; 130
|
||||||
|
|
||||||
|
; line 12
|
||||||
|
iny ; 2
|
||||||
|
ldx #84 ; 2
|
||||||
|
jsr sprite_line ; 6+120
|
||||||
|
;====
|
||||||
|
; 130
|
||||||
|
|
||||||
|
; line 13
|
||||||
|
iny ; 2
|
||||||
|
ldx #91 ; 2
|
||||||
|
jsr sprite_line ; 6+120
|
||||||
|
;====
|
||||||
|
; 130
|
||||||
|
|
||||||
|
|
||||||
|
.if 0
|
||||||
; line 0
|
; line 0
|
||||||
|
|
||||||
lda #0 ; 2
|
lda #0 ; 2
|
||||||
@ -270,7 +368,6 @@ display_loop:
|
|||||||
;====
|
;====
|
||||||
; 32
|
; 32
|
||||||
|
|
||||||
;.if 0
|
|
||||||
; line 5
|
; line 5
|
||||||
|
|
||||||
lda #0 ; 2
|
lda #0 ; 2
|
||||||
@ -410,7 +507,7 @@ display_loop:
|
|||||||
sta smc077+28 ; 5 ; 4
|
sta smc077+28 ; 5 ; 4
|
||||||
;====
|
;====
|
||||||
; 34
|
; 34
|
||||||
;.endif
|
.endif
|
||||||
|
|
||||||
pad_time:
|
pad_time:
|
||||||
|
|
||||||
@ -421,11 +518,14 @@ pad_time:
|
|||||||
|
|
||||||
; Try X=13 Y=57 cycles=4048 R4
|
; Try X=13 Y=57 cycles=4048 R4
|
||||||
|
|
||||||
nop
|
;Try X=79 Y=11 cycles=4412 R4
|
||||||
|
|
||||||
|
; Try X=1 Y=247 cycles=2718 R2
|
||||||
|
|
||||||
nop
|
nop
|
||||||
|
|
||||||
ldy #57 ; 2
|
ldy #247 ; 2
|
||||||
loop1: ldx #13 ; 2
|
loop1: ldx #1 ; 2
|
||||||
loop2: dex ; 2
|
loop2: dex ; 2
|
||||||
bne loop2 ; 2nt/3
|
bne loop2 ; 2nt/3
|
||||||
dey ; 2
|
dey ; 2
|
||||||
@ -442,6 +542,67 @@ no_keypress:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;========================
|
||||||
|
; Draw a line of a sprite
|
||||||
|
;========================
|
||||||
|
; Y = y value
|
||||||
|
; x = location in sprite
|
||||||
|
; 17+10+(7*12)+3+6 = 120
|
||||||
|
sprite_line:
|
||||||
|
sty TEMPY ; 3
|
||||||
|
|
||||||
|
lda y_lookup_l,Y ; 4
|
||||||
|
sta OUTL ; 3
|
||||||
|
lda y_lookup_h,Y ; 4
|
||||||
|
sta OUTH ; 3
|
||||||
|
;=======
|
||||||
|
; 17
|
||||||
|
|
||||||
|
; XPOS
|
||||||
|
lda #1 ; xpos=1 ; 2
|
||||||
|
ldy #0 ; 2
|
||||||
|
sta (OUTL),Y ; 6
|
||||||
|
;=======
|
||||||
|
; 10
|
||||||
|
; COL0
|
||||||
|
ldy #2 ; 2
|
||||||
|
lda ship_sprite+0,X ; 4
|
||||||
|
sta (OUTL),Y ; 6
|
||||||
|
;=======
|
||||||
|
; 12
|
||||||
|
; COL1
|
||||||
|
ldy #7 ; 2
|
||||||
|
lda ship_sprite+1,X ; 4
|
||||||
|
sta (OUTL),Y ; 6
|
||||||
|
|
||||||
|
; COL2
|
||||||
|
ldy #12 ; 2
|
||||||
|
lda ship_sprite+2,X ; 4
|
||||||
|
sta (OUTL),Y ; 6
|
||||||
|
|
||||||
|
; COL3
|
||||||
|
ldy #17 ; 2
|
||||||
|
lda ship_sprite+3,X ; 4
|
||||||
|
sta (OUTL),Y ; 6
|
||||||
|
|
||||||
|
; COL4
|
||||||
|
ldy #22 ; 2
|
||||||
|
lda ship_sprite+4,X ; 4
|
||||||
|
sta (OUTL),Y ; 6
|
||||||
|
|
||||||
|
; COL5
|
||||||
|
ldy #27 ; 2
|
||||||
|
lda ship_sprite+5,X ; 4
|
||||||
|
sta (OUTL),Y ; 6
|
||||||
|
|
||||||
|
; COL6
|
||||||
|
ldy #32 ; 2
|
||||||
|
lda ship_sprite+6,X ; 4
|
||||||
|
sta (OUTL),Y ; 6
|
||||||
|
|
||||||
|
ldy TEMPY ; 3
|
||||||
|
rts ; 6
|
||||||
|
|
||||||
|
|
||||||
.include "gr_simple_clear.s"
|
.include "gr_simple_clear.s"
|
||||||
.include "gr_offsets.s"
|
.include "gr_offsets.s"
|
||||||
@ -461,7 +622,35 @@ pictures:
|
|||||||
|
|
||||||
.include "earth.inc"
|
.include "earth.inc"
|
||||||
|
|
||||||
red_x: .byte $10
|
.align $100
|
||||||
yellow_x: .byte $20
|
|
||||||
green_x: .byte $30
|
ship_sprite:
|
||||||
blue_x: .byte $40
|
; l0: 0 1 2 3 4 5 6
|
||||||
|
.byte $00,$00,$00,$ff,$00,$00,$00
|
||||||
|
; l1:
|
||||||
|
.byte $00,$00,$00,$ff,$00,$00,$00
|
||||||
|
; l2:
|
||||||
|
.byte $00,$00,$00,$ff,$00,$00,$00
|
||||||
|
; l3:
|
||||||
|
.byte $00,$00,$00,$ff,$00,$00,$00
|
||||||
|
; l4:
|
||||||
|
.byte $00,$00,$00,$77,$00,$00,$00
|
||||||
|
; l5:
|
||||||
|
.byte $00,$00,$00,$ff,$ff,$22,$00
|
||||||
|
; l6:
|
||||||
|
.byte $00,$00,$22,$ff,$ff,$22,$00
|
||||||
|
; l7:
|
||||||
|
.byte $00,$dd,$66,$11,$22,$22,$00
|
||||||
|
; l8:
|
||||||
|
.byte $dd,$99,$22,$44,$44,$22,$22
|
||||||
|
; l9:
|
||||||
|
.byte $99,$11,$66,$ff,$ff,$22,$22
|
||||||
|
; l10:
|
||||||
|
.byte $dd,$99,$22,$ff,$ff,$22,$22
|
||||||
|
; l11:
|
||||||
|
.byte $00,$dd,$66,$77,$77,$77,$ff
|
||||||
|
; l12:
|
||||||
|
.byte $00,$00,$22,$ff,$ff,$77,$ff
|
||||||
|
; l13:
|
||||||
|
.byte $00,$00,$00,$ff,$ff,$77,$ff
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user