# HG changeset patch # User Paul Boddie # Date 1510061913 -3600 # Node ID a297782bef19fe2df936cb86cceca01c2fcc24f6 # Parent 129ef681b3fc1f6d6dcdc60fd1e5f4b2be9a53e1 Reordered channel and timer activation instructions, tidied generally. diff -r 129ef681b3fc -r a297782bef19 vga.S --- a/vga.S Tue Nov 07 14:04:29 2017 +0100 +++ b/vga.S Tue Nov 07 14:38:33 2017 +0100 @@ -594,8 +594,9 @@ DCHxDSIZ<15:0> = CHDSIZ<15:0> = 1 */ + li $v1, 1 + la $v0, DCH0DSIZ - li $v1, 1 sw $v1, 0($v0) la $v0, DCH1DSIZ @@ -609,10 +610,11 @@ DCHxDSA = physical(PORTB) */ - la $v0, DCH0DSA li $v1, PORTB li $t8, KSEG1_BASE subu $v1, $v1, $t8 + + la $v0, DCH0DSA sw $v1, 0($v0) la $v0, DCH1DSA @@ -635,8 +637,6 @@ la $v0, IPC10 li $v1, 0b11111 /* DMA0IP, DMA0IS = 0 */ sw $v1, CLR($v0) - - la $v0, IPC10 li $v1, 0b11111 /* DMA0IP = 7, DMA0IS = 3 */ sw $v1, SET($v0) @@ -932,12 +932,6 @@ la $v0, DCH0SSA sw $s2, 0($v0) - /* Enable the line channel for timer event transfer initiation. */ - - la $v0, DCH0ECON - li $v1, (1 << 4) /* DCH0ECON<4> = SIRQEN = 1 */ - sw $v1, SET($v0) - /* Suspend delivery of the timer interrupt during the visible period. The condition still occurs, however. @@ -957,6 +951,12 @@ li $v1, (1 << 9) sw $v1, SET($v0) /* T2IE = 0 */ + /* Enable the line channel for timer event transfer initiation. */ + + la $v0, DCH0ECON + li $v1, (1 << 4) /* DCH0ECON<4> = SIRQEN = 1 */ + sw $v1, SET($v0) + _vbp_active_ret: jr $ra nop