From 17114d2728255b29834e9b22fe8240344166aea6 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sat, 20 Aug 2022 23:23:46 -0400 Subject: [PATCH] solaris: update trying to figure out table --- graphics/hgr/solaris/sine_table.c | 21 ++++++ graphics/hgr/solaris/solaris.s | 22 +++--- graphics/hgr/solaris/solaris_sin.c | 52 ++++++++++++++ graphics/hgr/solaris/solaris_table.c | 104 +++++++++++++++++++++++++++ 4 files changed, 187 insertions(+), 12 deletions(-) create mode 100644 graphics/hgr/solaris/sine_table.c create mode 100644 graphics/hgr/solaris/solaris_sin.c create mode 100644 graphics/hgr/solaris/solaris_table.c diff --git a/graphics/hgr/solaris/sine_table.c b/graphics/hgr/solaris/sine_table.c new file mode 100644 index 00000000..b9d87cf4 --- /dev/null +++ b/graphics/hgr/solaris/sine_table.c @@ -0,0 +1,21 @@ +#include +#include + +#define DIVISIONS 8 + +int main(int argc, char **argv) { + + double diff=3.14159265358979/2/DIVISIONS; + double offset=3.14159265358979/2/8/16; + int i,j; + + for(j=0;j<16;j++) { + printf("%d: ",j); + for(i=0;i + +unsigned char surtb3[]={ + 0xFF,0xFF,0xFE,0xFF,0xFF,0xFD,0xFF,0xFF, + 0xFB,0xFF,0xFF,0xF7,0xFF,0xFF,0xEF,0xFF, + 0xDF,0xFF,0xFF,0xBF,0xFF,0x7F,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFD, + 0xFB,0xF7,0xFF,0xEF,0xDF,0xBF,0x7F,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, + 0xFD,0xF3,0xEF,0xDF,0x3F,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFC,0xF3,0xCF,0x3F,0xFF,0xFF, + 0xFF,0xFC,0xF3,0x8F,0x7F,0xFF,0xFE,0xE1, + 0x1F,0xFF,0xFF, +}; + +unsigned char surtb4[]={ + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, + 0xFF,0xFD,0xFF,0xFB,0xFF,0xF7,0xFF,0xEF, + 0xDF,0xFF,0xBF,0xFF,0x7F,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, + 0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF9,0xF7, + 0xCF,0x3F,0xFF,0xFF,0xFF,0xFF,0xFC,0xE3, + 0x9F,0x7F,0xFF,0xFF,0xFC,0xC3,0x3F,0xFF, + 0xFE,0xE1,0x1F,0xFF +}; + +unsigned short combined[83]; + +int main(int argc, char **argv) { + + int i,j; + + + for(i=0;i<83;i++) { + combined[i]=(surtb4[i]<<8)|(surtb3[i]&0xff); + } + + for(j=0;j<16;j++) { + printf("%d: ",j); + + for(i=0;i<83;i++) { + if (!(combined[i]&(1< + +unsigned char surtb3[]={ + 0xFF,0xFF,0xFE,0xFF,0xFF,0xFD,0xFF,0xFF, + 0xFB,0xFF,0xFF,0xF7,0xFF,0xFF,0xEF,0xFF, + 0xDF,0xFF,0xFF,0xBF,0xFF,0x7F,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFD, + 0xFB,0xF7,0xFF,0xEF,0xDF,0xBF,0x7F,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, + 0xFD,0xF3,0xEF,0xDF,0x3F,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFC,0xF3,0xCF,0x3F,0xFF,0xFF, + 0xFF,0xFC,0xF3,0x8F,0x7F,0xFF,0xFE,0xE1, + 0x1F,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, + 0xFF,0xFD,0xFF,0xFB,0xFF,0xF7,0xFF,0xEF, + 0xDF,0xFF,0xBF,0xFF,0x7F,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, + 0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF9,0xF7, + 0xCF,0x3F,0xFF,0xFF,0xFF,0xFF,0xFC,0xE3, + 0x9F,0x7F,0xFF,0xFF,0xFC,0xC3,0x3F,0xFF, + 0xFE,0xE1,0x1F,0xFF +}; + +unsigned char surtb3_gen[167]; + +int main(int argc, char **argv) { + + int i,diffs=0; + + for(i=0;i<167;i++) { + if ((i&1)==0) printf("%d\n",surtb3[i]); + } + +#if 0 + for(i=0;i<167;i++) { + surtb3_gen[i]=0xff; + } + + /* calc diff */ + for(i=0;i<167;i++) { + if (surtb3_gen[i]!=surtb3[i]) diffs++; + } + printf("%d differences!\n",diffs); +#endif + +// ldy #0 +// lda compressed,Y +// ror +// bcs streamofff + +//streamofff +// tax +// sta output +// inc output +// dex +// bpl loop + + + +// ldx #0 +// ldy #7 +// ror bitmap,X +// bcc blah +// lda IT +// inc smc +// jmp urgh +//blah: +// lda #$ff +//urgh: +// sta surtb3 +// inc smc +// dey +// bpl inner +// inx +// cpx #20 +// bne outer + +#if 0 + for(i=0;i<83;i++) { + printf("%d ",(~surtb3[i])&0xff); + } + printf("\n"); + + for(i=0;i<83;i++) { + printf("%d ",(~surtb4[i])&0xff); + } + printf("\n"); +#endif + return 0; +} + + +// 0 0 1 0 0 2 0 0 4 0 0 8 0 0 16 0 +// 32 0 0 64 0 128 0 0 0 0 0 0 0 0 0 0 +// 0 0 0 0 0 1 0 2 4 8 0 16 32 64 128 0 +// 0 0 0 0 0 0 0 1 2 12 16 32 192 0 0 0 +// 0 0 3 12 48 192 0 0 0 3 12 112 128 0 1 30 224 0 0 + + +//0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 4 0 8 0 16 32 0 64 0 128 0 0 0 0 0 0 0 0 0 0 1 2 4 8 16 32 64 128 0 0 0 0 0 0 1 6 8 48 192 0 0 0 0 3 28 96 128 0 0 3 60 192 0 1 30 224