diff options
Diffstat (limited to 'examples/demos/n00bdemo/plasmagen.s')
| -rw-r--r-- | examples/demos/n00bdemo/plasmagen.s | 181 |
1 files changed, 0 insertions, 181 deletions
diff --git a/examples/demos/n00bdemo/plasmagen.s b/examples/demos/n00bdemo/plasmagen.s deleted file mode 100644 index 07b3f48..0000000 --- a/examples/demos/n00bdemo/plasmagen.s +++ /dev/null @@ -1,181 +0,0 @@ -.set noreorder - -.set POLYG4_tag, 0 -.set POLYG4_rgb0, 4 -.set POLYG4_xy0, 8 -.set POLYG4_rgb1, 12 -.set POLYG4_xy1, 16 -.set POLYG4_rgb2, 20 -.set POLYG4_xy2, 24 -.set POLYG4_rgb3, 28 -.set POLYG4_xy3, 32 -.set POLYG4_len, 36 - -# a0 - Plasma output -# a1 - Counter -.global genPlasma -.type genPlasma, @function -genPlasma: - move $t1, $0 - -.gn_y_loop: move $t0, $0 - -.gn_x_loop: la $v0, plasma_sin1 - sll $v1, $t0, 1 - addu $v1, $v0 - lh $v0, 0($v1) - - la $a2, plasma_sin2 - sll $v1, $t1, 1 - addu $v1, $a2 - lh $v1, 0($v1) - nop - add $v0, $v1 - - add $v1, $t0, $t1 - add $v1, $a1 - divu $v1, 90 - la $a2, plasma_sin3 - mfhi $v1 - - sll $v1, 1 - addu $v1, $a2 - lh $v1, 0($v1) - nop - add $v0, $v1 - - andi $v0, 0xff - - sb $v0, 0($a0) - addu $a0, 1 - - addiu $t0, 1 - blt $t0, 41, .gn_x_loop - nop - - addiu $t1, 1 - blt $t1, 31, .gn_y_loop - nop - - jr $ra - nop - - -# a0 - OT entry -# a1 - Primitive address -# a2 - Plasma map source -.global sortPlasma -.type sortPlasma, @function -sortPlasma: - move $t1, $0 - -.y_loop: - move $t0, $0 - -.x_loop: - lbu $v0, 0($a2) - addiu $a2, 1 - la $a3, plasma_colors - sll $v0, 2 - addu $v0, $a3 - lw $v0, 0($v0) - - lui $v1, 0x3800 - or $v0, $v1 - sw $v0, POLYG4_rgb0($a1) - - - lbu $v0, 0($a2) - nop - sll $v0, 2 - addu $v0, $a3 - lw $v0, 0($v0) - nop - sw $v0, POLYG4_rgb1($a1) - - - lbu $v0, 40($a2) - nop - sll $v0, 2 - addu $v0, $a3 - lw $v0, 0($v0) - nop - sw $v0, POLYG4_rgb2($a1) - - - lbu $v0, 41($a2) - nop - sll $v0, 2 - addu $v0, $a3 - lw $v0, 0($v0) - nop - sw $v0, POLYG4_rgb3($a1) - - - sll $v0, $t0, 4 - andi $v0, 0xffff - sll $v1, $t1, 20 - or $v0, $v1 - sw $v0, POLYG4_xy0($a1) - - sll $v0, $t0, 4 - andi $v0, 0xffff - addi $v0, 16 - sll $v1, $t1, 20 - or $v0, $v1 - sw $v0, POLYG4_xy1($a1) - - sll $v0, $t0, 4 - andi $v0, 0xffff - sll $v1, $t1, 4 - addi $v1, 16 - sll $v1, 16 - or $v0, $v1 - sw $v0, POLYG4_xy2($a1) - - sll $v0, $t0, 4 - andi $v0, 0xffff - addi $v0, 16 - sll $v1, $t1, 4 - addi $v1, 16 - sll $v1, 16 - or $v0, $v1 - sw $v0, POLYG4_xy3($a1) - - .set noat - - lui $v1, 0x0800 - lw $v0, 0($a0) - lui $at, 0xff00 - and $v1, $at - lui $at, 0x00ff - or $at, 0xffff - and $v0, $at - or $v1, $v0 - sw $v1, 0($a1) - lw $v0, 0($a0) - and $a1, $at - lui $at, 0xff00 - and $v0, $at - or $v0, $a1 - sw $v0, 0($a0) - - .set at - - lui $v0, 0x8000 - or $a1, $v0 - addiu $a1, POLYG4_len - - - addiu $t0, 1 - blt $t0, 40, .x_loop - nop - - addiu $a2, 1 - addiu $t1, 1 - blt $t1, 30, .y_loop - nop - - - jr $ra - move $v0, $a1
\ No newline at end of file |
