1.1 --- a/vga.S Sun May 28 22:02:02 2017 +0200
1.2 +++ b/vga.S Sun May 28 23:11:05 2017 +0200
1.3 @@ -161,21 +161,46 @@
1.4
1.5 /* Main program. */
1.6
1.7 - li $a1, 5000000 /* counter = 5000000 */
1.8 + li $a1, (3 << 24) /* counter ~= 50000000 */
1.9 + li $a2, 0xffffff /* test counter at every 1/4 of range */
1.10 + move $t2, $zero /* picture to show */
1.11
1.12 /* Monitoring loop. */
1.13 loop:
1.14 addiu $a1, $a1, -1 /* counter -= 1 */
1.15 - bnez $a1, loop /* until counter == 0 */
1.16 + and $t1, $a2, $a1
1.17 + bnez $t1, loop
1.18 nop
1.19
1.20 - li $a1, 5000000 /* counter = 5000000 */
1.21 -
1.22 la $t0, PORTA
1.23 li $t1, (1 << 3) /* PORTA<3> = RA3 */
1.24 sw $t1, INV($t0)
1.25
1.26 + bnez $a1, loop /* until counter == 0 */
1.27 + nop
1.28 +
1.29 + bnez $t2, _picture1
1.30 + nop
1.31 +
1.32 + /* Show picture 0. */
1.33 +
1.34 + la $a0, screendata
1.35 + jal init_framebuffer
1.36 + nop
1.37 + li $t2, 1
1.38 + j _next
1.39 + nop
1.40 +
1.41 +_picture1:
1.42 + /* Show picture 1. */
1.43 +
1.44 + jal init_framebuffer_with_pattern
1.45 + nop
1.46 + move $t2, $zero
1.47 +
1.48 _next:
1.49 + li $a1, (3 << 24) /* counter ~= 50000000 */
1.50 + li $a2, 0xffffff /* test counter at every 1/4 of range */
1.51 j loop
1.52 nop
1.53