|
|
|
@@ -619,11 +619,11 @@
|
|
|
|
|
(r0 uint128) (v0-0 float) (a0-2 int) (font-table-12 (inline-array vector)) (a3-6 (inline-array vector))
|
|
|
|
|
(a3-8 (inline-array vector)) (t0-1 int) (q-hi-tmpl uint128) (color-array-prod int) (q-verts-2t uint128)
|
|
|
|
|
(q-verts-2 uint128) (q-verts-3t uint128) (q-verts-3 uint128) (t4-6 int) (fc-cr uint) (t4-16 int) (t4-17 int)
|
|
|
|
|
(t4-18 float) (t4-19 int) (t4-23 int) (t4-32 int) (t4-33 int) (t4-36 uint128) (t4-37 uint128) (q-verts-1t uint128)
|
|
|
|
|
(t4-18 int) (t4-19 int) (t4-23 int) (t4-32 int) (t4-33 int) (t4-36 uint128) (t4-37 uint128) (q-verts-1t uint128)
|
|
|
|
|
(q-verts-1 uint128) (not-sc-lit1 uint) (not-sc-~ uint) (t5-6 int) (t5-7 int) (t5-9 int) (t5-10 uint) (t5-11 uint)
|
|
|
|
|
(t5-13 int) (t5-14 int) (t5-17 int) (t5-18 int) (t5-19 float) (t5-20 int) (t5-23 uint128) (t5-24 uint) (t5-25 uint)
|
|
|
|
|
(t5-13 int) (t5-14 int) (t5-17 int) (t5-18 int) (t5-19 int) (t5-20 int) (t5-23 uint128) (t5-24 uint) (t5-25 uint)
|
|
|
|
|
(t5-27 int) (t5-28 int) (t5-32 uint128) (t5-33 uint128) (t5-35 uint128) (t5-36 uint128) (t5-39 int) (t5-40 int)
|
|
|
|
|
(t5-41 float) (t5-42 int) (t5-45 uint128) (q-verts-0t uint128) (q-verts-0 uint128) (t6-3 uint) (t6-4 uint) (t6-5 uint)
|
|
|
|
|
(t5-41 int) (t5-42 int) (t5-45 uint128) (q-verts-0t uint128) (q-verts-0 uint128) (t6-3 uint) (t6-4 uint) (t6-5 uint)
|
|
|
|
|
(t6-6 uint) (t6-7 uint) (t6-10 uint) (t6-11 uint) (t6-12 uint) (t6-13 uint) (t6-14 uint) (t6-16 uint) (t6-20 uint)
|
|
|
|
|
(t6-21 uint) (t6-22 uint) (t6-23 uint) (t6-24 uint) (t6-28 uint128) (t6-29 uint128) (t6-31 uint) (t7-0 uint)
|
|
|
|
|
(t7-2 uint) (t7-3 uint) (t7-4 uint) (t7-5 uint) (t7-6 uint) (t7-7 uint) (t7-8 uint) (t7-9 uint) (t7-10 uint)
|
|
|
|
@@ -1621,14 +1621,13 @@
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
(defun get-string-length ((arg0 string) (arg1 font-context))
|
|
|
|
|
"Get the length of a string, in pixels"
|
|
|
|
|
(local-vars
|
|
|
|
|
(v0-0 float) (a2-1 (inline-array vector)) (a2-4 (inline-array vector)) (a3-2 int) (a3-9 uint)
|
|
|
|
|
(a3-10 int) (t0-0 uint) (t0-1 uint) (t0-3 int) (t0-4 int) (t0-5 int) (t1-1 uint) (t1-2 uint)
|
|
|
|
|
(t1-3 uint) (t1-4 uint) (t1-5 uint) (t2-0 uint) (t2-2 uint) (t2-3 uint) (t2-4 uint) (t2-5 uint)
|
|
|
|
|
(t2-6 uint) (t2-7 uint) (t2-8 uint) (t2-9 uint) (t2-10 uint) (t2-11 uint) (t2-12 uint) (t2-13 uint)
|
|
|
|
|
(t2-14 uint) (t2-15 uint) (t2-16 uint) (t2-17 uint) (t3-0 uint) (t3-1 int)
|
|
|
|
|
)
|
|
|
|
|
(v0-0 float) (a2-1 (inline-array vector)) (a2-4 (inline-array vector)) (a3-2 int) (a3-9 uint)
|
|
|
|
|
(a3-10 int) (t0-0 uint) (t0-1 uint) (t0-3 int) (t0-4 int) (t0-5 int) (t1-1 uint) (t1-2 uint)
|
|
|
|
|
(t1-3 uint) (t1-4 uint) (t1-5 uint) (t2-0 uint) (t2-2 uint) (t2-3 uint) (t2-4 uint) (t2-5 uint)
|
|
|
|
|
(t2-6 uint) (t2-7 uint) (t2-8 uint) (t2-9 uint) (t2-10 uint) (t2-11 uint) (t2-12 uint)
|
|
|
|
|
(t2-13 uint) (t2-14 uint) (t2-15 uint) (t2-16 uint) (t2-17 uint) (t3-0 uint) (t3-1 int)
|
|
|
|
|
)
|
|
|
|
|
(rlet ((vf0 :class vf)
|
|
|
|
|
(vf1 :class vf)
|
|
|
|
|
(vf13 :class vf)
|
|
|
|
@@ -1639,148 +1638,168 @@
|
|
|
|
|
(vf25 :class vf)
|
|
|
|
|
(vf5 :class vf)
|
|
|
|
|
)
|
|
|
|
|
(init-vf0-vector)
|
|
|
|
|
(.lvf vf25 (&-> arg1 context-vec quad))
|
|
|
|
|
(.lvf vf23 (&-> arg1 origin quad))
|
|
|
|
|
(.lvf vf24 (&-> arg1 origin quad))
|
|
|
|
|
(let ((v1-0 (-> arg1 flags-signed)))
|
|
|
|
|
(let ((a1-2 *video-parms*))
|
|
|
|
|
(.lvf vf1 (+ (the-as int a1-2) 64))
|
|
|
|
|
)
|
|
|
|
|
(.mul.vf vf25 vf25 vf1 :mask #b11)
|
|
|
|
|
(.mul.vf vf23 vf23 vf1 :mask #b11)
|
|
|
|
|
(.mul.vf vf24 vf24 vf1 :mask #b11)
|
|
|
|
|
(let ((a1-4 *font-work*))
|
|
|
|
|
(set! (-> a1-4 str-ptr) (the-as uint arg0))
|
|
|
|
|
(set! (-> a1-4 flags) (the-as font-flags v1-0))
|
|
|
|
|
(.mov.vf vf1 vf0)
|
|
|
|
|
(let ((a2-0 (logand v1-0 32)))
|
|
|
|
|
(b! (nonzero? a2-0) cfg-2 :delay (set! a2-1 *font12-table*))
|
|
|
|
|
)
|
|
|
|
|
(let ((a2-2 a2-1))
|
|
|
|
|
(.lvf vf13 (&-> a1-4 size1-small quad))
|
|
|
|
|
(b! #t cfg-3 :delay (.lvf vf14 (&-> a1-4 size2-small quad)))
|
|
|
|
|
(label cfg-2)
|
|
|
|
|
(set! a2-2 *font24-table*)
|
|
|
|
|
(.lvf vf13 (&-> a1-4 size1-large quad))
|
|
|
|
|
(.lvf vf14 (&-> a1-4 size2-large quad))
|
|
|
|
|
(label cfg-3)
|
|
|
|
|
(let ((a3-0 (-> (the-as (pointer uint8) arg0) 4)))
|
|
|
|
|
(set! arg0 (the-as string (&-> (the-as (pointer uint8) arg0) 1)))
|
|
|
|
|
(b! (zero? a3-0) cfg-51 :delay (set! t0-0 (+ a3-0 -1)))
|
|
|
|
|
(b! (zero? t0-0) cfg-44 :delay (set! t0-1 (+ a3-0 -126)))
|
|
|
|
|
(b! (nonzero? t0-1) cfg-45)
|
|
|
|
|
(set! a3-0 (-> (the-as (pointer uint8) arg0) 4))
|
|
|
|
|
(set! arg0 (the-as string (&-> (the-as (pointer uint8) arg0) 1)))
|
|
|
|
|
0
|
|
|
|
|
(let ((t1-0 0))
|
|
|
|
|
(b! (zero? a3-0) cfg-51 :delay (set! t2-0 (+ a3-0 -43)))
|
|
|
|
|
(.movz t0-3 a3-0 t2-0 0) ;; TODO Wrong
|
|
|
|
|
(let ((t2-1 (+ a3-0 -45)))
|
|
|
|
|
(.movz t0-4 a3-0 t2-1 0 );; TODO wrong
|
|
|
|
|
)
|
|
|
|
|
(b! (nonzero? t0-4) cfg-14 :delay (set! t2-2 (+ a3-0 -121)))
|
|
|
|
|
(b! (zero? t2-2) cfg-42 :delay (set! t1-1 (+ a3-0 -89)))
|
|
|
|
|
(b! (zero? t1-1) cfg-42 :delay (set! t1-2 (+ a3-0 -122)))
|
|
|
|
|
(b! (zero? t1-2) cfg-43 :delay (set! t1-3 (+ a3-0 -90)))
|
|
|
|
|
(b! (zero? t1-3) cfg-43 :delay (set! t1-4 (+ a3-0 -48)))
|
|
|
|
|
(b! (< (the-as int t1-4) 0) cfg-45 :delay (set! t1-5 (+ a3-0 -57)))
|
|
|
|
|
(b!
|
|
|
|
|
(> (the-as int t1-5) 0)
|
|
|
|
|
cfg-45
|
|
|
|
|
:delay
|
|
|
|
|
(set! t1-0 (the-as int (+ a3-0 -48)))
|
|
|
|
|
)
|
|
|
|
|
(label cfg-14)
|
|
|
|
|
(set! a3-0 (-> (the-as (pointer uint8) arg0) 4))
|
|
|
|
|
(set! arg0 (the-as string (&-> (the-as (pointer uint8) arg0) 1)))
|
|
|
|
|
(b! (zero? a3-0) cfg-51 :delay (set! t2-3 (+ a3-0 -110)))
|
|
|
|
|
(b! (zero? t2-3) cfg-32 :delay (set! t2-4 (+ a3-0 -78)))
|
|
|
|
|
(b! (zero? t2-4) cfg-32 :delay (set! t2-5 (+ a3-0 -108)))
|
|
|
|
|
(b! (zero? t2-5) cfg-3 :delay (set! t2-6 (+ a3-0 -76)))
|
|
|
|
|
(b! (zero? t2-6) cfg-3 :delay (set! t2-7 (+ a3-0 -119)))
|
|
|
|
|
(b! (zero? t2-7) cfg-3 :delay (set! t2-8 (+ a3-0 -87)))
|
|
|
|
|
(b! (zero? t2-8) cfg-3 :delay (set! t2-9 (+ a3-0 -107)))
|
|
|
|
|
(b! (zero? t2-9) cfg-35 :delay (set! t2-10 (+ a3-0 -75)))
|
|
|
|
|
(b! (zero? t2-10) cfg-35 :delay (set! t2-11 (+ a3-0 -106)))
|
|
|
|
|
(b! (zero? t2-11) cfg-3 :delay (set! t2-12 (+ a3-0 -74)))
|
|
|
|
|
(b! (zero? t2-12) cfg-3 :delay (set! t2-13 (+ a3-0 -104)))
|
|
|
|
|
(b! (zero? t2-13) cfg-37 :delay (set! t2-14 (+ a3-0 -72)))
|
|
|
|
|
(b! (zero? t2-14) cfg-37 :delay (set! t2-15 (+ a3-0 -118)))
|
|
|
|
|
(b! (zero? t2-15) cfg-3 :delay (set! t2-16 (+ a3-0 -86)))
|
|
|
|
|
(b! (zero? t2-16) cfg-3 :delay (set! t2-17 (+ a3-0 -48)))
|
|
|
|
|
(b! (< (the-as int t2-17) 0) cfg-45 :delay (set! t3-0 (+ a3-0 -57)))
|
|
|
|
|
(b! (> (the-as int t3-0) 0) cfg-45 :delay (.sll t3-1 t1-0 2))
|
|
|
|
|
(let ((a3-1 (+ t1-0 t3-1)))
|
|
|
|
|
(.sll a3-2 a3-1 1)
|
|
|
|
|
)
|
|
|
|
|
(b! #t cfg-14 :delay (set! t1-0 (+ a3-2 t2-17)))
|
|
|
|
|
(label cfg-32)
|
|
|
|
|
(b! (nonzero? t1-0) cfg-34 :delay (set! a2-4 *font12-table*))
|
|
|
|
|
(set! a2-2 a2-4)
|
|
|
|
|
(let ((a3-3 -33))
|
|
|
|
|
(.lvf vf13 (&-> a1-4 size1-small quad))
|
|
|
|
|
(.lvf vf14 (&-> a1-4 size2-small quad))
|
|
|
|
|
(b! #t cfg-3 :delay (set! v1-0 (logand v1-0 a3-3)))
|
|
|
|
|
)
|
|
|
|
|
(label cfg-34)
|
|
|
|
|
(set! a2-2 *font24-table*)
|
|
|
|
|
(.lvf vf13 (&-> a1-4 size1-large quad))
|
|
|
|
|
(.lvf vf14 (&-> a1-4 size2-large quad))
|
|
|
|
|
(b! #t cfg-3 :delay (set! v1-0 (logior v1-0 32)))
|
|
|
|
|
(label cfg-35)
|
|
|
|
|
(let ((a3-4 -3))
|
|
|
|
|
(b! (zero? t1-0) cfg-3 :delay (set! v1-0 (logand v1-0 a3-4)))
|
|
|
|
|
)
|
|
|
|
|
(b! #t cfg-3 :delay (set! v1-0 (logior v1-0 2)))
|
|
|
|
|
(label cfg-37)
|
|
|
|
|
(.mov vf1 t1-0)
|
|
|
|
|
)
|
|
|
|
|
(let ((a3-5 (+ t0-4 -45)))
|
|
|
|
|
(b! (zero? t0-4) cfg-41 :delay (.itof.vf vf1 vf1))
|
|
|
|
|
(b! (zero? a3-5) cfg-40)
|
|
|
|
|
)
|
|
|
|
|
(b! #t cfg-3 :delay (.add.x.vf vf23 vf23 vf1 :mask #b1))
|
|
|
|
|
(label cfg-40)
|
|
|
|
|
(b! #t cfg-3 :delay (.sub.x.vf vf23 vf23 vf1 :mask #b1))
|
|
|
|
|
(label cfg-41)
|
|
|
|
|
(b! #t cfg-3 :delay (.add.x.vf vf23 vf0 vf1 :mask #b1))
|
|
|
|
|
(label cfg-42)
|
|
|
|
|
(b! #t cfg-3 :delay (.svf (&-> a1-4 save quad) vf23))
|
|
|
|
|
(label cfg-43)
|
|
|
|
|
(b! #t cfg-3 :delay (.lvf vf23 (&-> a1-4 save quad)))
|
|
|
|
|
(label cfg-44)
|
|
|
|
|
(let ((a3-6 (-> (the-as (pointer uint8) arg0) 4)))
|
|
|
|
|
(set! arg0 (the-as string (&-> (the-as (pointer uint8) arg0) 1)))
|
|
|
|
|
(let ((a3-7 (logand a3-6 127)))
|
|
|
|
|
(let ((a3-8 (+ a3-7 255)))
|
|
|
|
|
(b! #t cfg-48 :delay (.sll t0-5 a3-8 4))
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
(label cfg-45)
|
|
|
|
|
(.sll t0-5 a3-0 4)
|
|
|
|
|
(b! (= a3-0 10) cfg-47 :delay (set! a3-9 (+ a3-0 -13)))
|
|
|
|
|
)
|
|
|
|
|
(b! (nonzero? a3-9) cfg-48)
|
|
|
|
|
(label cfg-47)
|
|
|
|
|
(b! #t cfg-3 :delay (.add.x.vf vf23 vf0 vf24 :mask #b1))
|
|
|
|
|
(label cfg-48)
|
|
|
|
|
(.addu a3-10 t0-5 a2-2)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
(.lvf vf5 (+ a3-10 -256))
|
|
|
|
|
(.mul.vf vf19 vf5 vf13)
|
|
|
|
|
(b! (zero? (logand v1-0 2)) cfg-50)
|
|
|
|
|
)
|
|
|
|
|
(b! #t cfg-3 :delay (.add.w.vf vf23 vf23 vf19 :mask #b1))
|
|
|
|
|
(label cfg-50)
|
|
|
|
|
(b! #t cfg-3 :delay (.add.w.vf vf23 vf23 vf14 :mask #b1))
|
|
|
|
|
(label cfg-51)
|
|
|
|
|
(.sub.vf vf23 vf23 vf24)
|
|
|
|
|
(.mov v0-0 vf23)
|
|
|
|
|
v0-0
|
|
|
|
|
(init-vf0-vector)
|
|
|
|
|
(.lvf vf25 (&-> arg1 context-vec quad))
|
|
|
|
|
(.lvf vf23 (&-> arg1 origin quad))
|
|
|
|
|
(.lvf vf24 (&-> arg1 origin quad))
|
|
|
|
|
(let ((v1-0 (-> arg1 flags-signed)))
|
|
|
|
|
(let ((a1-2 *video-parms*))
|
|
|
|
|
(.lvf vf1 (+ (the int a1-2) 64))
|
|
|
|
|
)
|
|
|
|
|
(.mul.vf vf25 vf25 vf1 :mask #b11)
|
|
|
|
|
(.mul.vf vf23 vf23 vf1 :mask #b11)
|
|
|
|
|
(.mul.vf vf24 vf24 vf1 :mask #b11)
|
|
|
|
|
(let ((a1-4 *font-work*))
|
|
|
|
|
(set! (-> a1-4 str-ptr) (the-as uint arg0))
|
|
|
|
|
(set! (-> a1-4 flags) (the-as font-flags v1-0))
|
|
|
|
|
(.mov.vf vf1 vf0)
|
|
|
|
|
(let ((a2-0 (logand v1-0 32)))
|
|
|
|
|
(nop!)
|
|
|
|
|
(b! (nonzero? a2-0) cfg-2 :delay (set! a2-1 *font12-table*))
|
|
|
|
|
)
|
|
|
|
|
(let ((a2-2 a2-1))
|
|
|
|
|
(nop!)
|
|
|
|
|
(.lvf vf13 (&-> a1-4 size1-small quad))
|
|
|
|
|
(b! #t cfg-3 :delay (.lvf vf14 (&-> a1-4 size2-small quad)))
|
|
|
|
|
(label cfg-2)
|
|
|
|
|
(nop!)
|
|
|
|
|
(set! a2-2 *font24-table*)
|
|
|
|
|
(nop!)
|
|
|
|
|
(.lvf vf13 (&-> a1-4 size1-large quad))
|
|
|
|
|
(nop!)
|
|
|
|
|
(.lvf vf14 (&-> a1-4 size2-large quad))
|
|
|
|
|
(label cfg-3)
|
|
|
|
|
(let ((a3-0 (-> (the-as (pointer uint8) arg0) 4)))
|
|
|
|
|
(set! arg0 (the-as string (&-> (the-as (pointer uint8) arg0) 1)))
|
|
|
|
|
(b! (zero? a3-0) cfg-51 :delay (set! t0-0 (+ a3-0 -1)))
|
|
|
|
|
(b! (zero? t0-0) cfg-44 :delay (set! t0-1 (+ a3-0 -126)))
|
|
|
|
|
(b! (nonzero? t0-1) cfg-45 :delay (nop!))
|
|
|
|
|
(set! a3-0 (-> (the-as (pointer uint8) arg0) 4))
|
|
|
|
|
(set! arg0 (the-as string (&-> (the-as (pointer uint8) arg0) 1)))
|
|
|
|
|
(let ((t0-2 0)
|
|
|
|
|
(t1-0 0)
|
|
|
|
|
)
|
|
|
|
|
(b! (zero? a3-0) cfg-51 :delay (set! t2-0 (+ a3-0 -43)))
|
|
|
|
|
(.movz t0-3 a3-0 t2-0 t0-2)
|
|
|
|
|
(let ((t2-1 (+ a3-0 -45)))
|
|
|
|
|
(.movz t0-4 a3-0 t2-1 t0-3)
|
|
|
|
|
)
|
|
|
|
|
(nop!)
|
|
|
|
|
(b! (nonzero? t0-4) cfg-14 :delay (set! t2-2 (+ a3-0 -121)))
|
|
|
|
|
(b! (zero? t2-2) cfg-42 :delay (set! t1-1 (+ a3-0 -89)))
|
|
|
|
|
(b! (zero? t1-1) cfg-42 :delay (set! t1-2 (+ a3-0 -122)))
|
|
|
|
|
(b! (zero? t1-2) cfg-43 :delay (set! t1-3 (+ a3-0 -90)))
|
|
|
|
|
(b! (zero? t1-3) cfg-43 :delay (set! t1-4 (+ a3-0 -48)))
|
|
|
|
|
(b! (< (the-as int t1-4) 0) cfg-45 :delay (set! t1-5 (+ a3-0 -57)))
|
|
|
|
|
(b!
|
|
|
|
|
(> (the-as int t1-5) 0)
|
|
|
|
|
cfg-45
|
|
|
|
|
:delay
|
|
|
|
|
(set! t1-0 (the-as int (+ a3-0 -48)))
|
|
|
|
|
)
|
|
|
|
|
(label cfg-14)
|
|
|
|
|
(set! a3-0 (-> (the-as (pointer uint8) arg0) 4))
|
|
|
|
|
(set! arg0 (the-as string (&-> (the-as (pointer uint8) arg0) 1)))
|
|
|
|
|
(b! (zero? a3-0) cfg-51 :delay (set! t2-3 (+ a3-0 -110)))
|
|
|
|
|
(b! (zero? t2-3) cfg-32 :delay (set! t2-4 (+ a3-0 -78)))
|
|
|
|
|
(b! (zero? t2-4) cfg-32 :delay (set! t2-5 (+ a3-0 -108)))
|
|
|
|
|
(b! (zero? t2-5) cfg-3 :delay (set! t2-6 (+ a3-0 -76)))
|
|
|
|
|
(b! (zero? t2-6) cfg-3 :delay (set! t2-7 (+ a3-0 -119)))
|
|
|
|
|
(b! (zero? t2-7) cfg-3 :delay (set! t2-8 (+ a3-0 -87)))
|
|
|
|
|
(b! (zero? t2-8) cfg-3 :delay (set! t2-9 (+ a3-0 -107)))
|
|
|
|
|
(b! (zero? t2-9) cfg-35 :delay (set! t2-10 (+ a3-0 -75)))
|
|
|
|
|
(b! (zero? t2-10) cfg-35 :delay (set! t2-11 (+ a3-0 -106)))
|
|
|
|
|
(b! (zero? t2-11) cfg-3 :delay (set! t2-12 (+ a3-0 -74)))
|
|
|
|
|
(b! (zero? t2-12) cfg-3 :delay (set! t2-13 (+ a3-0 -104)))
|
|
|
|
|
(b! (zero? t2-13) cfg-37 :delay (set! t2-14 (+ a3-0 -72)))
|
|
|
|
|
(b! (zero? t2-14) cfg-37 :delay (set! t2-15 (+ a3-0 -118)))
|
|
|
|
|
(b! (zero? t2-15) cfg-3 :delay (set! t2-16 (+ a3-0 -86)))
|
|
|
|
|
(b! (zero? t2-16) cfg-3 :delay (set! t2-17 (+ a3-0 -48)))
|
|
|
|
|
(b! (< (the-as int t2-17) 0) cfg-45 :delay (set! t3-0 (+ a3-0 -57)))
|
|
|
|
|
(b! (> (the-as int t3-0) 0) cfg-45 :delay (.sll t3-1 t1-0 2))
|
|
|
|
|
(let ((a3-1 (+ t1-0 t3-1)))
|
|
|
|
|
(nop!)
|
|
|
|
|
(.sll a3-2 a3-1 1)
|
|
|
|
|
)
|
|
|
|
|
(nop!)
|
|
|
|
|
(b! #t cfg-14 :delay (set! t1-0 (+ a3-2 t2-17)))
|
|
|
|
|
(label cfg-32)
|
|
|
|
|
(b! (nonzero? t1-0) cfg-34 :delay (set! a2-4 *font12-table*))
|
|
|
|
|
(set! a2-2 a2-4)
|
|
|
|
|
(let ((a3-3 -33))
|
|
|
|
|
(.lvf vf13 (&-> a1-4 size1-small quad))
|
|
|
|
|
(nop!)
|
|
|
|
|
(.lvf vf14 (&-> a1-4 size2-small quad))
|
|
|
|
|
(b! #t cfg-3 :delay (set! v1-0 (logand v1-0 a3-3)))
|
|
|
|
|
)
|
|
|
|
|
(label cfg-34)
|
|
|
|
|
(nop!)
|
|
|
|
|
(set! a2-2 *font24-table*)
|
|
|
|
|
(nop!)
|
|
|
|
|
(.lvf vf13 (&-> a1-4 size1-large quad))
|
|
|
|
|
(nop!)
|
|
|
|
|
(.lvf vf14 (&-> a1-4 size2-large quad))
|
|
|
|
|
(b! #t cfg-3 :delay (set! v1-0 (logior v1-0 32)))
|
|
|
|
|
(label cfg-35)
|
|
|
|
|
(let ((a3-4 -3))
|
|
|
|
|
(nop!)
|
|
|
|
|
(b! (zero? t1-0) cfg-3 :delay (set! v1-0 (logand v1-0 a3-4)))
|
|
|
|
|
)
|
|
|
|
|
(b! #t cfg-3 :delay (set! v1-0 (logior v1-0 2)))
|
|
|
|
|
(label cfg-37)
|
|
|
|
|
(.mov vf1 t1-0)
|
|
|
|
|
)
|
|
|
|
|
(let ((a3-5 (+ t0-4 -45)))
|
|
|
|
|
(b! (zero? t0-4) cfg-41 :delay (.itof.vf vf1 vf1))
|
|
|
|
|
(b! (zero? a3-5) cfg-40 :delay (nop!))
|
|
|
|
|
)
|
|
|
|
|
(b! #t cfg-3 :delay (.add.x.vf vf23 vf23 vf1 :mask #b1))
|
|
|
|
|
(label cfg-40)
|
|
|
|
|
(b! #t cfg-3 :delay (.sub.x.vf vf23 vf23 vf1 :mask #b1))
|
|
|
|
|
(label cfg-41)
|
|
|
|
|
(b! #t cfg-3 :delay (.add.x.vf vf23 vf0 vf1 :mask #b1))
|
|
|
|
|
(label cfg-42)
|
|
|
|
|
(b! #t cfg-3 :delay (.svf (&-> a1-4 save quad) vf23))
|
|
|
|
|
(label cfg-43)
|
|
|
|
|
(b! #t cfg-3 :delay (.lvf vf23 (&-> a1-4 save quad)))
|
|
|
|
|
(label cfg-44)
|
|
|
|
|
(let ((a3-6 (-> (the-as (pointer uint8) arg0) 4)))
|
|
|
|
|
(set! arg0 (the-as string (&-> (the-as (pointer uint8) arg0) 1)))
|
|
|
|
|
(nop!)
|
|
|
|
|
(let ((a3-7 (logand a3-6 127)))
|
|
|
|
|
(nop!)
|
|
|
|
|
(let ((a3-8 (+ a3-7 255)))
|
|
|
|
|
(b! #t cfg-48 :delay (.sll t0-5 a3-8 4))
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
(label cfg-45)
|
|
|
|
|
(nop!)
|
|
|
|
|
(.sll t0-5 a3-0 4)
|
|
|
|
|
(nop!)
|
|
|
|
|
(b! (= a3-0 10) cfg-47 :delay (set! a3-9 (+ a3-0 -13)))
|
|
|
|
|
)
|
|
|
|
|
(b! (nonzero? a3-9) cfg-48 :delay (nop!))
|
|
|
|
|
(label cfg-47)
|
|
|
|
|
(b! #t cfg-3 :delay (.add.x.vf vf23 vf0 vf24 :mask #b1))
|
|
|
|
|
(label cfg-48)
|
|
|
|
|
(.addu a3-10 t0-5 a2-2)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
(nop!)
|
|
|
|
|
(.lvf vf5 (+ a3-10 -256))
|
|
|
|
|
(nop!)
|
|
|
|
|
(.mul.vf vf19 vf5 vf13)
|
|
|
|
|
(b! (zero? (logand v1-0 2)) cfg-50 :delay (nop!))
|
|
|
|
|
)
|
|
|
|
|
(b! #t cfg-3 :delay (.add.w.vf vf23 vf23 vf19 :mask #b1))
|
|
|
|
|
(label cfg-50)
|
|
|
|
|
(b! #t cfg-3 :delay (.add.w.vf vf23 vf23 vf14 :mask #b1))
|
|
|
|
|
(label cfg-51)
|
|
|
|
|
(.sub.vf vf23 vf23 vf24)
|
|
|
|
|
(.mov v0-0 vf23)
|
|
|
|
|
v0-0
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
(defun draw-string-xy ((str string) (buf dma-buffer) (x int) (y int) (color font-color) (flags font-flags))
|
|
|
|
|