Nice! Thanks for posting this. Great to see somebody making use of this.
It'd be nice to have some simple, cheap probes for this. My logic analyzers have some nice ones.
Maybe a set of 8 signal clips with 2 ground clips that plug into a Eval board header would be nice.
Would also make it easier to connect two P2 I/O pins together so one can be output and the other input.
Hi
I have done extensive research in palette construction and colour reproduction on indexed video modes
Surprisingly the 216 websafe colours like Netscape used them + 16 greys gives the best results
You also don’t need all 16 greys as you get some of them from the 216 colours part
That gives you a palette if 226 colours
Tell me if you need the exact values for the color palette
Thanks, I too think something like that is best.
Might do the Microsoft version though, only so that color #0 is black.
I have a plan to make the color data independent of palette by specifying 24 bit colors in the upper 24 bits.
At start up, could have the code search for any non-zero values in upper 24 bits and replace with best index from palette.
After a few months on neglect, I can't find any version of FastSpin that works with the latest few...
Just managed to get this one working with FastSpin 4.21.
But, it has VGA hard coded to basepin=8. Need to work on these a bit...
Also, time to make compatible with the new PropTool...
Tried to get this working for both the latest Fastspin (4.4.0) and PropTool (2.3 alpha)...
It compiles with both, but only runs correctly with Fastspin.
I got the display to show something under PropTool, but it's not right...
Think I see part of the PropTool issue... Not sure there's a way to fix it...
I'm defining form data like this:
DAT 'Form1 Resources
orgh
Form1
long 1 '0 top
long 2 '1 left
long cols-4 '2 width
long rows-3 '3 height
long Navy '4 border color
long Silver '5 fill color
long sTitleForm1 '6 title string
long Yellow '7 title text color
long 0 '8 pointer to parent or 0 for main form
'start of object pointer list
'end of object pointer list
long 0
'Form1 String Resources
sTitleForm1 byte "Propeller II Mixed Signal Oscilloscope",0
"long sTitleForm1" winds up being the absolute address of the string in Fastspin, but not in PNut...
In Spin1, I would do this instead "long @ sTitleForm1", but this doesn't seem to work either...
I didn't try to follow the arguments at the time since I'm happy doing pure pasm2.
PS: I think it concluded in you can't use compile time immediate addressing when it's a mixed spin/pasm hubRAM address. Pnut/Proptool wants to be able to load the compiled code anywhere in hubRAM.
Hi
I have done extensive research in palette construction and colour reproduction on indexed video modes
Surprisingly the 216 websafe colours like Netscape used them + 16 greys gives the best results
You also don’t need all 16 greys as you get some of them from the 216 colours part
That gives you a palette if 226 colours
Tell me if you need the exact values for the color palette
This is interesting to me. What are these values? Getting by with 8bpp is nice.
For websafe colors both Netscape and Microsoft had a standard. Same colors, different order, just because.
I like what Surac is suggesting but figure you could have 32 grays, using 242 of the 256 colors? What would be the alternate use of those remaining colors?
I was able to get the initial form mostly working by calling a function that replaces all the pointer values at runtime.
This appears to work for both PropTool and FastSpin, but it's a pain...
Also, I see there is now USB code from @garryj that compiles with the PropTool.
So, it looks like it might be possible to make this work with PropTool.
PUB FixForm1():i 'fix string pointers on form1 for PropTool
pTitleForm1:=@sTitleForm1
i:=0
pForm1Members[i++]:=@Form1GraphicA
pForm1Members[i++]:=@Form1GraphicB
pForm1Members[i++]:=@Form1GraphicC
pForm1Members[i++]:=@Form1GraphicD
pForm1Members[i++]:=@Form1GraphicE
pForm1Members[i++]:=@Form1GraphicF
pForm1Members[i++]:=@Form1NumberA
pForm1Members[i++]:=@Form1NumberB
This version is close to working with PropTool... Shows digital data traces and all the text on main form is right. But, sliders and dials are broke.
Also, mouse doesn't work...
This version of mixed signal scope now works with latest Flexprop, 6.1.1
This is with the Eval board with A/V adapter on basepin P0 and USB mouse on basepin P16.
It actually compiles with Prop Tool 2.9.3 but the graphical elements like dials and sliders are missing.
Sliders and dials work, you just can't see them...
I'm going to see about implementing a web version of this so don't need A/V or Serial adapter...
Comments
It'd be nice to have some simple, cheap probes for this. My logic analyzers have some nice ones.
Maybe a set of 8 signal clips with 2 ground clips that plug into a Eval board header would be nice.
Would also make it easier to connect two P2 I/O pins together so one can be output and the other input.
I have done extensive research in palette construction and colour reproduction on indexed video modes
Surprisingly the 216 websafe colours like Netscape used them + 16 greys gives the best results
You also don’t need all 16 greys as you get some of them from the 216 colours part
That gives you a palette if 226 colours
Tell me if you need the exact values for the color palette
Might do the Microsoft version though, only so that color #0 is black.
I have a plan to make the color data independent of palette by specifying 24 bit colors in the upper 24 bits.
At start up, could have the code search for any non-zero values in upper 24 bits and replace with best index from palette.
After a few months on neglect, I can't find any version of FastSpin that works with the latest few...
Just managed to get this one working with FastSpin 4.21.
But, it has VGA hard coded to basepin=8. Need to work on these a bit...
Also, time to make compatible with the new PropTool...
This really is a great effort and very usable for many applications. It looks great!
/Johannes
It compiles with both, but only runs correctly with Fastspin.
I got the display to show something under PropTool, but it's not right...
I'm defining form data like this:
"long sTitleForm1" winds up being the absolute address of the string in Fastspin, but not in PNut...
In Spin1, I would do this instead "long @ sTitleForm1", but this doesn't seem to work either...
I didn't try to follow the arguments at the time since I'm happy doing pure pasm2.
PS: I think it concluded in you can't use compile time immediate addressing when it's a mixed spin/pasm hubRAM address. Pnut/Proptool wants to be able to load the compiled code anywhere in hubRAM.
This is interesting to me. What are these values? Getting by with 8bpp is nice.
6 x 6 x 6 = 216
Maybe I’ll get back to that one day...
I like what Surac is suggesting but figure you could have 32 grays, using 242 of the 256 colors? What would be the alternate use of those remaining colors?
EDIT: Oh, I guess the idea is that you dynamically map the indexes. That's a reason not to use all 256.
This appears to work for both PropTool and FastSpin, but it's a pain...
Also, I see there is now USB code from @garryj that compiles with the PropTool.
So, it looks like it might be possible to make this work with PropTool.
This version is close to working with PropTool... Shows digital data traces and all the text on main form is right. But, sliders and dials are broke.
Also, mouse doesn't work...
This version of mixed signal scope now works with latest Flexprop, 6.1.1
This is with the Eval board with A/V adapter on basepin P0 and USB mouse on basepin P16.
It actually compiles with Prop Tool 2.9.3 but the graphical elements like dials and sliders are missing.
Sliders and dials work, you just can't see them...
I'm going to see about implementing a web version of this so don't need A/V or Serial adapter...