mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-10 02:29:58 +00:00
second: more work on animation
This commit is contained in:
parent
ae595b8117
commit
620e3e75ba
@ -6,14 +6,14 @@ page_flip:
|
|||||||
lda DISP_PAGE ; 3
|
lda DISP_PAGE ; 3
|
||||||
beq page_flip_show_1 ; 2nt/3
|
beq page_flip_show_1 ; 2nt/3
|
||||||
page_flip_show_0:
|
page_flip_show_0:
|
||||||
bit PAGE0 ; 4
|
bit PAGE1 ; 4
|
||||||
lda #4 ; 2
|
lda #4 ; 2
|
||||||
sta DRAW_PAGE ; DRAW_PAGE=1 ; 3
|
sta DRAW_PAGE ; DRAW_PAGE=1 ; 3
|
||||||
lda #0 ; 2
|
lda #0 ; 2
|
||||||
sta DISP_PAGE ; DISP_PAGE=0 ; 3
|
sta DISP_PAGE ; DISP_PAGE=0 ; 3
|
||||||
rts ; 6
|
rts ; 6
|
||||||
page_flip_show_1:
|
page_flip_show_1:
|
||||||
bit PAGE1 ; 4
|
bit PAGE2 ; 4
|
||||||
sta DRAW_PAGE ; DRAW_PAGE=0 ; 3
|
sta DRAW_PAGE ; DRAW_PAGE=0 ; 3
|
||||||
lda #1 ; 2
|
lda #1 ; 2
|
||||||
sta DISP_PAGE ; DISP_PAGE=1 ; 3
|
sta DISP_PAGE ; DISP_PAGE=1 ; 3
|
||||||
|
@ -4,8 +4,8 @@ KEYPRESS = $C000
|
|||||||
KEYRESET = $C010
|
KEYRESET = $C010
|
||||||
|
|
||||||
;; SOFT SWITCHES
|
;; SOFT SWITCHES
|
||||||
CLR80COL = $C000 ; PAGE0/PAGE1 normal
|
CLR80COL = $C000 ; PAGE1/PAGE1 normal
|
||||||
SET80COL = $C001 ; PAGE0/PAGE1 switches PAGE0 in Aux instead
|
SET80COL = $C001 ; PAGE1/PAGE2 switches PAGE1 in Aux instead
|
||||||
EIGHTYCOLOFF = $C00C
|
EIGHTYCOLOFF = $C00C
|
||||||
EIGHTYCOLON = $C00D
|
EIGHTYCOLON = $C00D
|
||||||
TBCOLOR = $C022 ; IIgs fg/bg colors
|
TBCOLOR = $C022 ; IIgs fg/bg colors
|
||||||
@ -16,8 +16,8 @@ SET_GR = $C050
|
|||||||
SET_TEXT = $C051
|
SET_TEXT = $C051
|
||||||
FULLGR = $C052
|
FULLGR = $C052
|
||||||
TEXTGR = $C053
|
TEXTGR = $C053
|
||||||
PAGE0 = $C054
|
PAGE1 = $C054
|
||||||
PAGE1 = $C055
|
PAGE2 = $C055
|
||||||
LORES = $C056 ; Enable LORES graphics
|
LORES = $C056 ; Enable LORES graphics
|
||||||
HIRES = $C057 ; Enable HIRES graphics
|
HIRES = $C057 ; Enable HIRES graphics
|
||||||
AN3 = $C05E ; Annunciator 3
|
AN3 = $C05E ; Annunciator 3
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
; BOX x1,y1 to x2,y2
|
; BOX x1,y1 to x2,y2
|
||||||
; CLEAR -
|
; CLEAR -
|
||||||
|
|
||||||
num_scenes=2
|
num_scenes=5
|
||||||
|
|
||||||
frame15:
|
frame15:
|
||||||
.byte SET_COLOR | BLACK
|
.byte SET_COLOR | BLACK
|
||||||
@ -35,5 +35,72 @@ frame16:
|
|||||||
.byte HLIN, 28, 33, 22
|
.byte HLIN, 28, 33, 22
|
||||||
.byte HLIN, 28, 30, 23
|
.byte HLIN, 28, 30, 23
|
||||||
.byte END
|
.byte END
|
||||||
|
frame17:
|
||||||
|
.byte SET_COLOR | BLACK ; 1
|
||||||
|
.byte CLEAR ; 2
|
||||||
|
.byte SET_COLOR | WHITE ; 3
|
||||||
|
.byte BOX, 4, 6, 23,41 ; 8
|
||||||
|
.byte SET_COLOR | BROWN ; 9
|
||||||
|
.byte BOX, 24, 6, 35,36 ; 14
|
||||||
|
.byte SET_COLOR | GREY1 ; 15
|
||||||
|
.byte BOX, 26, 20, 32, 21 ; 20
|
||||||
|
.byte BOX, 24, 36, 30, 40 ; 25
|
||||||
|
.byte BOX, 29, 37, 35, 41 ; 30
|
||||||
|
.byte HLIN, 27, 31, 19 ; 34
|
||||||
|
.byte SET_COLOR | RED ; 35
|
||||||
|
.byte HLIN, 26, 32, 22 ; 39
|
||||||
|
.byte SET_COLOR | MEDIUM_BLUE ; 40
|
||||||
|
.byte BOX, 33, 11, 35, 17 ; 45
|
||||||
|
.byte BOX, 33, 25, 35, 30 ; 50
|
||||||
|
.byte SET_COLOR | LIGHT_BLUE ; 51
|
||||||
|
.byte HLIN, 26, 32, 23 ; 55
|
||||||
|
.byte HLIN, 27, 31, 24 ; 59
|
||||||
|
.byte END ; 60
|
||||||
|
frame18:
|
||||||
|
.byte SET_COLOR | BLACK
|
||||||
|
.byte CLEAR
|
||||||
|
.byte SET_COLOR | WHITE
|
||||||
|
.byte BOX, 4, 6, 18,41
|
||||||
|
.byte SET_COLOR | BROWN
|
||||||
|
.byte BOX, 19, 6, 35,38
|
||||||
|
.byte SET_COLOR | GREY1
|
||||||
|
.byte BOX, 27, 21, 34, 23
|
||||||
|
.byte BOX, 19, 39, 35, 41
|
||||||
|
.byte HLIN, 28, 31, 20
|
||||||
|
.byte HLIN, 19, 23, 37
|
||||||
|
.byte HLIN, 19, 28, 38
|
||||||
|
.byte SET_COLOR | RED
|
||||||
|
.byte HLIN, 27, 34, 24
|
||||||
|
.byte SET_COLOR | MEDIUM_BLUE
|
||||||
|
.byte BOX, 29, 11, 32, 18
|
||||||
|
.byte BOX, 29, 27, 32, 32
|
||||||
|
.byte SET_COLOR | LIGHT_BLUE
|
||||||
|
.byte HLIN, 27, 34, 25
|
||||||
|
.byte HLIN, 28, 33, 26
|
||||||
|
.byte END
|
||||||
|
frame19:
|
||||||
|
.byte SET_COLOR | BLACK
|
||||||
|
.byte CLEAR
|
||||||
|
.byte SET_COLOR | WHITE
|
||||||
|
.byte BOX, 4, 6, 12,41
|
||||||
|
.byte SET_COLOR | BROWN
|
||||||
|
.byte BOX, 13, 6, 35,40
|
||||||
|
.byte SET_COLOR | MEDIUM_BLUE
|
||||||
|
.byte BOX, 25, 11, 28, 18
|
||||||
|
.byte BOX, 33, 11, 35, 18
|
||||||
|
.byte BOX, 25, 26, 28, 32
|
||||||
|
.byte BOX, 33, 29, 35, 33
|
||||||
|
.byte SET_COLOR | GREY1
|
||||||
|
.byte BOX, 29, 21, 35, 24
|
||||||
|
.byte HLIN, 29, 34, 20
|
||||||
|
.byte HLIN, 13, 18, 38
|
||||||
|
.byte HLIN, 13, 25, 39
|
||||||
|
.byte HLIN, 13, 35, 41
|
||||||
|
.byte SET_COLOR | RED
|
||||||
|
.byte HLIN, 29, 35, 25
|
||||||
|
.byte SET_COLOR | LIGHT_BLUE
|
||||||
|
.byte HLIN, 28, 35, 26
|
||||||
|
.byte HLIN, 29, 35, 27
|
||||||
|
.byte HLIN, 30, 35, 38
|
||||||
|
.byte VLIN, 21, 26, 28
|
||||||
|
.byte END
|
||||||
|
@ -91,9 +91,10 @@ update_pointer:
|
|||||||
|
|
||||||
draw_table_l:
|
draw_table_l:
|
||||||
.byte <(clear_screen-1),<(draw_box-1),<(draw_hlin-1),<(draw_vlin-1)
|
.byte <(clear_screen-1),<(draw_box-1),<(draw_hlin-1),<(draw_vlin-1)
|
||||||
|
.byte <(draw_plot-1)
|
||||||
draw_table_h:
|
draw_table_h:
|
||||||
.byte >(clear_screen-1),>(draw_box-1),>(draw_hlin-1),>(draw_vlin-1)
|
.byte >(clear_screen-1),>(draw_box-1),>(draw_hlin-1),>(draw_vlin-1)
|
||||||
|
.byte >(draw_plot-1)
|
||||||
|
|
||||||
;=================================
|
;=================================
|
||||||
;=================================
|
;=================================
|
||||||
@ -153,7 +154,7 @@ draw_box_xloop_smc:
|
|||||||
iny
|
iny
|
||||||
draw_box_yend_smc:
|
draw_box_yend_smc:
|
||||||
cpy #0
|
cpy #0
|
||||||
bne draw_box_yloop
|
bcc draw_box_yloop
|
||||||
|
|
||||||
; done
|
; done
|
||||||
|
|
||||||
@ -167,6 +168,39 @@ draw_box_yend_smc:
|
|||||||
;=================================
|
;=================================
|
||||||
;=================================
|
;=================================
|
||||||
draw_hlin:
|
draw_hlin:
|
||||||
|
|
||||||
|
iny ; FIXME: move to common code
|
||||||
|
lda (INL),Y
|
||||||
|
sta X1
|
||||||
|
iny
|
||||||
|
lda (INL),Y
|
||||||
|
sta X2
|
||||||
|
iny
|
||||||
|
lda (INL),Y
|
||||||
|
sta Y1
|
||||||
|
|
||||||
|
|
||||||
|
lda Y1
|
||||||
|
lsr
|
||||||
|
tay
|
||||||
|
|
||||||
|
lda gr_offsets_l,Y
|
||||||
|
sta draw_hlin_xloop_smc+1
|
||||||
|
|
||||||
|
lda gr_offsets_h,Y
|
||||||
|
clc
|
||||||
|
adc DRAW_PAGE
|
||||||
|
sta draw_hlin_xloop_smc+2
|
||||||
|
|
||||||
|
lda COLOR
|
||||||
|
ldx X2
|
||||||
|
draw_hlin_xloop:
|
||||||
|
draw_hlin_xloop_smc:
|
||||||
|
sta $400,X
|
||||||
|
dex
|
||||||
|
cpx X1
|
||||||
|
bcs draw_hlin_xloop ; bge
|
||||||
|
|
||||||
; done
|
; done
|
||||||
|
|
||||||
lda #4
|
lda #4
|
||||||
@ -184,6 +218,31 @@ draw_vlin:
|
|||||||
jmp update_pointer
|
jmp update_pointer
|
||||||
|
|
||||||
|
|
||||||
|
;=================================
|
||||||
|
;=================================
|
||||||
|
; draw plot
|
||||||
|
;=================================
|
||||||
|
;=================================
|
||||||
|
draw_plot:
|
||||||
|
iny
|
||||||
|
lda (INL),Y
|
||||||
|
tax
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda (INL),Y
|
||||||
|
tay
|
||||||
|
|
||||||
|
draw_plot_smc:
|
||||||
|
sta $400
|
||||||
|
|
||||||
|
|
||||||
|
; done
|
||||||
|
|
||||||
|
lda #3
|
||||||
|
jmp update_pointer
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.include "gr_fast_clear.s"
|
.include "gr_fast_clear.s"
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ load_loop:
|
|||||||
bit SET_GR
|
bit SET_GR
|
||||||
bit LORES
|
bit LORES
|
||||||
bit FULLGR
|
bit FULLGR
|
||||||
bit PAGE0
|
bit PAGE1
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta DRAW_PAGE
|
sta DRAW_PAGE
|
||||||
@ -50,8 +50,26 @@ forever:
|
|||||||
scene_loop:
|
scene_loop:
|
||||||
jsr draw_scene
|
jsr draw_scene
|
||||||
|
|
||||||
|
;============================
|
||||||
|
; flip pages
|
||||||
|
;============================
|
||||||
|
lda DRAW_PAGE ; 3
|
||||||
|
beq was_page1 ; 2/3
|
||||||
|
was_page2:
|
||||||
|
bit PAGE2 ; 4
|
||||||
|
lda #$0 ; 2
|
||||||
|
beq done_pageflip ; 2/3
|
||||||
|
was_page1:
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
lda #$4 ; 2
|
||||||
|
done_pageflip:
|
||||||
|
sta DRAW_PAGE ; 3
|
||||||
|
|
||||||
|
|
||||||
jsr wait_until_keypress
|
jsr wait_until_keypress
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
dec SCENE_COUNT
|
dec SCENE_COUNT
|
||||||
bne scene_loop
|
bne scene_loop
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ do_rotozoom:
|
|||||||
; Clear screen and setup graphics
|
; Clear screen and setup graphics
|
||||||
;================================
|
;================================
|
||||||
|
|
||||||
bit PAGE0 ; set page 0
|
bit PAGE1 ; set page 1
|
||||||
bit LORES ; Lo-res graphics
|
bit LORES ; Lo-res graphics
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
|
@ -232,7 +232,7 @@ load_loop:
|
|||||||
bit SET_GR
|
bit SET_GR
|
||||||
bit HIRES
|
bit HIRES
|
||||||
bit FULLGR
|
bit FULLGR
|
||||||
bit PAGE0
|
bit PAGE1
|
||||||
|
|
||||||
;=======================
|
;=======================
|
||||||
; start music
|
; start music
|
||||||
@ -287,7 +287,7 @@ load_loop:
|
|||||||
|
|
||||||
bit HIRES
|
bit HIRES
|
||||||
bit FULLGR
|
bit FULLGR
|
||||||
bit PAGE0
|
bit PAGE1
|
||||||
|
|
||||||
|
|
||||||
;================================
|
;================================
|
||||||
|
Loading…
x
Reference in New Issue
Block a user