+BuildTrigTables:
+ ld hl,TrigPrecalc
+ ld de,SinCosTable
+ push de
+ ld bc,65
+ ldir
+ dec hl
+ ld b,63
+MirrorSineWave:
+ dec hl
+ ld a,(hl)
+ ld (de),a
+ inc de
+ djnz MirrorSineWave
+ pop hl
+ ld b,128+64
+NegativeSineWave:
+ xor a
+ sub (hl)
+ ld (de),a
+ inc hl
+ inc de
+ djnz NegativeSineWave
+ ret
+
+TrigPrecalc:
+.db 0, 3, 6, 9, 12, 15, 18, 21
+.db 24, 27, 30, 33, 36, 39, 42, 45
+.db 48, 51, 54, 57, 59, 62, 65, 67
+.db 70, 73, 75, 78, 80, 82, 85, 87
+.db 89, 91, 94, 96, 98, 100, 102, 103
+.db 105, 107, 108, 110, 112, 113, 114, 116
+.db 117, 118, 119, 120, 121, 122, 123, 123
+.db 124, 125, 125, 126, 126, 126, 126, 126
+.db 127