aboutsummaryrefslogtreecommitdiff
path: root/examples/demos/n00bdemo/plasmagen.s
diff options
context:
space:
mode:
Diffstat (limited to 'examples/demos/n00bdemo/plasmagen.s')
-rw-r--r--examples/demos/n00bdemo/plasmagen.s181
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