mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-27 07:29:29 +00:00
solaris: update trying to figure out table
This commit is contained in:
parent
47f30f9de9
commit
17114d2728
21
graphics/hgr/solaris/sine_table.c
Normal file
21
graphics/hgr/solaris/sine_table.c
Normal file
|
@ -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
|
MASK = $FE
|
||||||
FRAME = $FF
|
FRAME = $FF
|
||||||
|
|
||||||
surtb3 = $1000
|
;surtb3 = $1000
|
||||||
surtb4 = $1083
|
;surtb4 = $1083
|
||||||
|
|
||||||
; 0 1 2 3 4 5 6 7
|
; 0 1 2 3 4 5 6 7
|
||||||
; 01 02 04 08 10 20 40 80
|
; 01 02 04 08 10 20 40 80
|
||||||
|
@ -58,7 +58,6 @@ set_sur4:
|
||||||
set_sur3:
|
set_sur3:
|
||||||
lda #<surtb3
|
lda #<surtb3
|
||||||
done_sur:
|
done_sur:
|
||||||
|
|
||||||
sta turb3_smc+1
|
sta turb3_smc+1
|
||||||
|
|
||||||
|
|
||||||
|
@ -67,7 +66,7 @@ done_sur:
|
||||||
tax
|
tax
|
||||||
; lda log2,X
|
; lda log2,X
|
||||||
|
|
||||||
sec
|
sec ; 1
|
||||||
lda #0 ; 2
|
lda #0 ; 2
|
||||||
log2_loop:
|
log2_loop:
|
||||||
rol ; 1
|
rol ; 1
|
||||||
|
@ -87,12 +86,13 @@ inner_loop:
|
||||||
ldx HGR_X
|
ldx HGR_X
|
||||||
|
|
||||||
turb3_smc:
|
turb3_smc:
|
||||||
lda surtb3,X
|
lda surtb3,X ; get line lookup
|
||||||
and MASK
|
and MASK ; and with current MASK
|
||||||
beq skip_color
|
beq skip_color
|
||||||
lda #$FF
|
lda #$FF
|
||||||
skip_color:
|
skip_color:
|
||||||
ldy #39
|
|
||||||
|
ldy #39 ; draw horizontal line at GBASL
|
||||||
inner_inner_loop:
|
inner_inner_loop:
|
||||||
sta (GBASL),Y
|
sta (GBASL),Y
|
||||||
dey
|
dey
|
||||||
|
@ -106,7 +106,7 @@ inner_inner_loop:
|
||||||
beq outer_loop
|
beq outer_loop
|
||||||
|
|
||||||
|
|
||||||
|
.if 0
|
||||||
offsets:
|
offsets:
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
.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 $df,$bf,$7f,$fe,$f9,$f7,$cf,$3f,$fc
|
||||||
.byte $e3,$9f,$7f,$fc,$c3,$3f,$fe,$e1
|
.byte $e3,$9f,$7f,$fc,$c3,$3f,$fe,$e1
|
||||||
.byte $1f
|
.byte $1f
|
||||||
|
.endif
|
||||||
|
|
||||||
.if 0
|
|
||||||
;64 + 21 = 76 vs 160
|
;64 + 21 = 76 vs 160
|
||||||
surtb3:
|
surtb3:
|
||||||
.byte $FF,$FF,$FE,$FF,$FF,$FD,$FF,$FF
|
.byte $FF,$FF,$FE,$FF,$FF,$FD,$FF,$FF
|
||||||
|
@ -142,8 +142,6 @@ surtb3:
|
||||||
.byte $1F,$FF,$FF
|
.byte $1F,$FF,$FF
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
surtb4:
|
surtb4:
|
||||||
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
.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 $CF,$3F,$FF,$FF,$FF,$FF,$FC,$E3
|
||||||
.byte $9F,$7F,$FF,$FF,$FC,$C3,$3F,$FF
|
.byte $9F,$7F,$FF,$FF,$FC,$C3,$3F,$FF
|
||||||
.byte $FE,$E1,$1F,$FF
|
.byte $FE,$E1,$1F,$FF
|
||||||
.endif
|
|
||||||
|
|
52
graphics/hgr/solaris/solaris_sin.c
Normal file
52
graphics/hgr/solaris/solaris_sin.c
Normal file
|
@ -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");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
104
graphics/hgr/solaris/solaris_table.c
Normal file
104
graphics/hgr/solaris/solaris_table.c
Normal file
|
@ -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
Block a user