home .. forth .. misc mail list archive ..

No Subject


Dear MISC readers,

>Now that P21 has been out for several months, could some of the ealrly
>adopters post some of their experiences?  How is the video quality?
>Is Ting's evaluation board without SRAM useful?  Is this a great chip
>or just a curiousity?  What voltage exactly does it want ti run at?
>Thanks.
>-Dave

Video quality was big problem for me for a along time.  Chuck's code
produced better video than mine until I figured out a number of things.
Chuck was doing i/o through the slow speed i/o address space and using
slow i/o chips.  This was not a problem however because he was just
looking for key presses on his 7 key keyboard, so he put a very
large delay between samples through the 250ns i/o space.  Also his
code was running mostly out of one page of memory, so the CPU
was not generating a lot of off page memory access (except those
that were produced by the interaction of video processor,  even his
block transfers to the video memory produce less off page access than
mine).  So in Chuck's code there were few 250ns i/o accesses or offpage
150ns DRAM access by the CPU and a result the video processor would only
see occational jitter due to not  getting  memory access in time for a
pixel.
On the other hand, my P21Forth code is spread out over a number of
pages, and even with the stacks and the kernel on the same page the  
high level code generates lots of off page memory access by the CPU.
P21Forth also supports multitasking, so when I started sampling the
input via slow speed i/o a couple of hundred thousand times a second
I got a lot of video jitter.  I could reduce this by running at a
higher voltage, but more on that later.  Also when sampling for serial
i/o at higher baud rates you have to sample the input a lot more often
than you do when looking for key presses.  To top it off P21Forth 1.00
does not have the nop instruction in front of all a! in the last 3 slots.
So it has problems on the plastic chips at low voltage.
However I found that by ditching the 8255 on the original development
system and substiting my own i/o chips I could switch to i/o through
the high speed address space.  Going from 250ns to 15ns i/o makes the
video MUCH more stable.  With lots of off page access, multitasking,
and hundreds of thousands of samples per second the video remains
rock solid to much lower voltages.  Still not quite as low as Chuck's
code because his code is smaller and procudes less off page access.
The voltage level at which the video image begins to jitter is a good
indication of how tight the code is.  But using high speed i/o chips
and the high speed i/o space will make the video very stable.
Colors on the other hand have some problems.  Some of the colors are
just not usable in my opinion.  They sort of strobe on many monitors
so badly that you just plain don't want to look at it.  So you don't
get 16 colors, you never did, light-black and dark-white are the same
so you only get 15 colors on P21, and IMHO you cant really use all
15.  Dr. Ting has some graphics, but some colors are not good and
produce strobing.

I would say the  board is useful without SRAM, but it would be very
nice to have 3 8kx8 15ns SRAMs. :-) It would really increase the speed
that you could get.
 
Voltage? Well that depends on what you are doing.  If you are not
generating video you could run way down to around 4v but there is just
not enough bandwidth in DRAM to run the CPU and generate solid jitter
free video even if you do no i/o operations.  Chuck's code will 
be fairly jitter free around 5v and mine around 5.5 or 5.8 depending
on whether you use slow or fast i/o.  Also the choice of DRAM chips
will effect the voltage and speed.  I have some DRAM that won't run
above 5.5, and some that will keep up to 7v.  (or more, but 5.5 is
what the specs on those chips recommends.)  Also the plastic chips
will not run below about 5.4 volts on my P21Forth at all because
the code was written before I knew about the problem with A! on
the plastic packages.  I will soon release 1.01 with a couple of bug
fixes and the A! fix, so it should run at lower voltages,  but
even with fast i/o chips video will start to jitter.

Of course you need a moniter (or rf-converter like the one in your VCR
and a TV) to see the video signal, and every monitor is different.  Some
will actually display the 384x482 pixel format that we are using in
OK and P21Forth.  But most will not have all of those pixels viewable
and 16 to 20 pixels may be beyond the viewable portion of the image on
all the borders.  Some will display more or less jitter, some will 
strobe worse on some colors.  I have one LCD television that only
displays about half the colors because it doesn't distinguish between
the light and dark shades of many colors.

768x482  video might look better, and some output filtering on the
P21 video will improve some of the colors.

I have seen P21 running with NO DRAM or SRAM.  It will boot and run
directly out of a UVPROM.  But of course you can't do video from an
8 bit prom directly, not enough bandwidth, not enough memory, and
it needs to be 20 bits wide to support the video processor.  You
could do it with 20bit wide prom if it was fast enough.  

Is this a great chip or just a curiousity?  Both.
It may remain a curiousity if it is only noticed by a very small number
of people.  No major software houses have announced any desires to
develop products for it.  But perhaps some products will be developed
that can show the real power of the chip. But it remains a chicken and
egg problem.  People don't want to invest in software development unless 
they think that lots of hardware will be sold, and people may not ever
even see the hardware if there is not some catchy software.  

I have wanted to write some objects that can display themselves in
3D projections in background graphics windows under P21Forth.  Almost 
all of the tools are there in P21Forth, but no one else has 
done it yet, and I have been working on other things.  I can't decide
if I should do that before or after I finish the full GUI.  But these
are still just small modest programs.

I was very pleased last week to learn that there is interest in exploring
this chip in a very large institute in Moscow.  There is some
possibility that they will port some very impressive applications to
this technology that could really show it off.  Neither Chuck, Dr. Ting,
or myself have really been able to put more than a very small amount
of time programming.  It would be wonderful to see some large many man
year projects ported to P21.  It is hard to compare things based upon
such little code.

Jeff Fox