solaris: update trying to figure out table
This commit is contained in:
parent
47f30f9de9
commit
17114d2728
|
@ -0,0 +1,21 @@
|
|||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
|
||||
#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<DIVISIONS;i++) {
|
||||
printf("%.2lf ",80*sin((offset*j)+i*diff));
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -34,8 +34,8 @@ YY = $FD
|
|||
MASK = $FE
|
||||
FRAME = $FF
|
||||
|
||||
surtb3 = $1000
|
||||
surtb4 = $1083
|
||||
;surtb3 = $1000
|
||||
;surtb4 = $1083
|
||||
|
||||
; 0 1 2 3 4 5 6 7
|
||||
; 01 02 04 08 10 20 40 80
|
||||
|
@ -58,7 +58,6 @@ set_sur4:
|
|||
set_sur3:
|
||||
lda #<surtb3
|
||||
done_sur:
|
||||
|
||||
sta turb3_smc+1
|
||||
|
||||
|
||||
|
@ -67,7 +66,7 @@ done_sur:
|
|||
tax
|
||||
; lda log2,X
|
||||
|
||||
sec
|
||||
sec ; 1
|
||||
lda #0 ; 2
|
||||
log2_loop:
|
||||
rol ; 1
|
||||
|
@ -87,12 +86,13 @@ inner_loop:
|
|||
ldx HGR_X
|
||||
|
||||
turb3_smc:
|
||||
lda surtb3,X
|
||||
and MASK
|
||||
lda surtb3,X ; get line lookup
|
||||
and MASK ; and with current MASK
|
||||
beq skip_color
|
||||
lda #$FF
|
||||
skip_color:
|
||||
ldy #39
|
||||
|
||||
ldy #39 ; draw horizontal line at GBASL
|
||||
inner_inner_loop:
|
||||
sta (GBASL),Y
|
||||
dey
|
||||
|
@ -106,7 +106,7 @@ inner_inner_loop:
|
|||
beq outer_loop
|
||||
|
||||
|
||||
|
||||
.if 0
|
||||
offsets:
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
|
@ -125,8 +125,8 @@ values2:
|
|||
.byte $df,$bf,$7f,$fe,$f9,$f7,$cf,$3f,$fc
|
||||
.byte $e3,$9f,$7f,$fc,$c3,$3f,$fe,$e1
|
||||
.byte $1f
|
||||
.endif
|
||||
|
||||
.if 0
|
||||
;64 + 21 = 76 vs 160
|
||||
surtb3:
|
||||
.byte $FF,$FF,$FE,$FF,$FF,$FD,$FF,$FF
|
||||
|
@ -142,8 +142,6 @@ surtb3:
|
|||
.byte $1F,$FF,$FF
|
||||
|
||||
|
||||
|
||||
|
||||
surtb4:
|
||||
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||
|
@ -156,4 +154,4 @@ surtb4:
|
|||
.byte $CF,$3F,$FF,$FF,$FF,$FF,$FC,$E3
|
||||
.byte $9F,$7F,$FF,$FF,$FC,$C3,$3F,$FF
|
||||
.byte $FE,$E1,$1F,$FF
|
||||
.endif
|
||||
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
#include <stdio.h>
|
||||
|
||||
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<<j))) printf("%d ",i);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,104 @@
|
|||
#include <stdio.h>
|
||||
|
||||
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
|
Loading…
Reference in New Issue