mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-11-18 21:06:31 +00:00
raster_sound: got the mb routine cycle counted
1000 cycles?
This commit is contained in:
parent
0a7e5547a4
commit
9e880eef92
@ -45,7 +45,7 @@ RASTERBARS_SOUND: rasterbars_sound.o
|
|||||||
|
|
||||||
rasterbars_sound.o: rasterbars_sound.s gr_copy.s \
|
rasterbars_sound.o: rasterbars_sound.s gr_copy.s \
|
||||||
rasterbars_screen.s rasterbars_table.s movement_table.s rb_bg.inc \
|
rasterbars_screen.s rasterbars_table.s movement_table.s rb_bg.inc \
|
||||||
pt3_lib_ci.s interrupt_handler.s
|
pt3_lib_ci.s interrupt_handler.s mockingboard_a.s
|
||||||
ca65 -o rasterbars_sound.o rasterbars_sound.s -l rasterbars_sound.lst
|
ca65 -o rasterbars_sound.o rasterbars_sound.s -l rasterbars_sound.lst
|
||||||
|
|
||||||
|
|
||||||
|
@ -252,7 +252,7 @@ mb4_not_in_this_slot:
|
|||||||
;====================================
|
;====================================
|
||||||
; cycle counted
|
; cycle counted
|
||||||
|
|
||||||
; 2 + 13*(28+28+7) + 5
|
; 2 + 13*(70) + 74 + 5 = 991
|
||||||
|
|
||||||
mb_write_frame:
|
mb_write_frame:
|
||||||
|
|
||||||
@ -267,9 +267,9 @@ mb_write_frame:
|
|||||||
|
|
||||||
mb_write_loop:
|
mb_write_loop:
|
||||||
;=============================
|
;=============================
|
||||||
; not r13 -- 4+5+[ ]+28+28+7
|
; not r13 -- 4+5+28+26+7 = 70
|
||||||
; r13, not ff -- 4+5+ 3 +28+28+7
|
; r13, not ff -- 4+5+ 4 +28+26+7 = 74
|
||||||
; r13 is ff -- 4+5+ 4
|
; r13 is ff -- 4+5+3+1=[61] = 74
|
||||||
|
|
||||||
|
|
||||||
lda AY_REGISTERS,X ; load register value ; 4
|
lda AY_REGISTERS,X ; load register value ; 4
|
||||||
@ -282,9 +282,25 @@ mb_write_loop:
|
|||||||
|
|
||||||
; -1
|
; -1
|
||||||
cmp #$ff ; 2
|
cmp #$ff ; 2
|
||||||
beq mb_skip_13 ; 3
|
bne mb_not_13 ; 3
|
||||||
; -1
|
; -1
|
||||||
|
|
||||||
|
|
||||||
|
; delay 61
|
||||||
|
inc TEMP ; 5
|
||||||
|
inc TEMP ; 5
|
||||||
|
inc TEMP ; 5
|
||||||
|
inc TEMP ; 5
|
||||||
|
inc TEMP ; 5
|
||||||
|
inc TEMP ; 5
|
||||||
|
inc TEMP ; 5
|
||||||
|
inc TEMP ; 5
|
||||||
|
inc TEMP ; 5
|
||||||
|
inc TEMP ; 5
|
||||||
|
inc TEMP ; 5
|
||||||
|
lda TEMP ; 3
|
||||||
|
jmp mb_skip_13 ; 3
|
||||||
|
|
||||||
mb_not_13:
|
mb_not_13:
|
||||||
|
|
||||||
|
|
||||||
@ -308,7 +324,7 @@ mb_not_13:
|
|||||||
sty MOCK_6522_ORB1 ; 4
|
sty MOCK_6522_ORB1 ; 4
|
||||||
sty MOCK_6522_ORB2 ; 4
|
sty MOCK_6522_ORB2 ; 4
|
||||||
;===========
|
;===========
|
||||||
; 28
|
; 26
|
||||||
mb_no_write:
|
mb_no_write:
|
||||||
inx ; point to next register ; 2
|
inx ; point to next register ; 2
|
||||||
cpx #14 ; if 14 we're done ; 2
|
cpx #14 ; if 14 we're done ; 2
|
||||||
|
@ -288,8 +288,9 @@ display_loop:
|
|||||||
; -582 -- erase 22+4*(8+6+126) = 582
|
; -582 -- erase 22+4*(8+6+126) = 582
|
||||||
; -696 -- move+draw 4*(16+26+6+126) = 696
|
; -696 -- move+draw 4*(16+26+6+126) = 696
|
||||||
; -10 -- keypress
|
; -10 -- keypress
|
||||||
|
; -997 -- mockingboard out
|
||||||
;=======
|
;=======
|
||||||
; 3262
|
; 2265
|
||||||
|
|
||||||
pad_time:
|
pad_time:
|
||||||
|
|
||||||
@ -462,21 +463,19 @@ pad_time:
|
|||||||
;============================
|
;============================
|
||||||
|
|
||||||
|
|
||||||
jsr pt3_make_frame
|
; jsr pt3_make_frame
|
||||||
jsr mb_write_frame
|
jsr mb_write_frame ; 6+921
|
||||||
|
|
||||||
|
|
||||||
;============================
|
;============================
|
||||||
; WAIT for VBLANK to finish
|
; WAIT for VBLANK to finish
|
||||||
;============================
|
;============================
|
||||||
; Try X=5 Y=105 cycles=3256 R6
|
|
||||||
|
|
||||||
nop
|
; Try X=112 Y=4 cycles=2265
|
||||||
nop
|
|
||||||
nop
|
|
||||||
|
|
||||||
ldy #105 ; 2
|
|
||||||
loop1: ldx #5 ; 2
|
ldy #4 ; 2
|
||||||
|
loop1: ldx #112 ; 2
|
||||||
loop2: dex ; 2
|
loop2: dex ; 2
|
||||||
bne loop2 ; 2nt/3
|
bne loop2 ; 2nt/3
|
||||||
dey ; 2
|
dey ; 2
|
||||||
@ -491,6 +490,12 @@ no_keypress:
|
|||||||
jmp display_loop ; 3
|
jmp display_loop ; 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;========================
|
;========================
|
||||||
; Draw a rasterbar
|
; Draw a rasterbar
|
||||||
; unroll as memory is free! haha
|
; unroll as memory is free! haha
|
||||||
|
Loading…
Reference in New Issue
Block a user