 |
 |
Here's the latest 1024x768 tile driver, now with
mouse cursor support. |
 |
The Propeller's built-in font was designed to run in this mode, but
for a long time it wasn't looking possible. I think this driver would be
great for these self-hosting languages that are being discussed. Note
the 3D bevel characters and easy-to-read 64x24 text. There's also some
graphics in this example just to show that it can be done. This demo was
thrown together, but it exercises the tile driver thoroughly. It shows
the two built-in mouse cursors, plus a custom one.
|
 |
The driver itself is 271 longs w/12 VARs. It requires 6KB of RAM for
the tile array.
|
 |
Ray's Note: Personally, I think this is the best VGA mode for
the Propeller and this driver works very well. Don't know why it
isn't in the Object Exchange Library!
|
|
 |
Viewport from
myDancebot.com
 | Viewport is a program that let's you view and change variables in
your Propeller application in real time. Viewport shows you the current
state and graphs archived data for later analysis. A one line change to
your Propeller program enables Viewport to access your variables and
give you a user friendly interface to change variables as the program
runs- all with no performance impact since it's running entirely in its
own cog. The Viewport Conduit object is coded entirely in assembly to
provide a record 2mbps transmit and receive connection- which you can
use any way you want. If you're interested in observing quick events you
can sample a byte variable 200,000 times per second- continuously. Or
you can include every variable in your program for detailed analysis.
Viewport also supports a turbo mode to sample the INA register at up to
80Mhz with an optional trigger. Viewport is modeled after a digital
oscilloscope and lets you manipulate the data as you want. Graphed data
can be copied as an image to the clipboard from where they can be shared
in email or office applications. Data can also be saved in standard WAV
files. Viewport was developed to build affordable balancing robots
"mydancebot",
available later this year. Viewport is free for hobbyist using it for
personal projects, other licenses will follow shortly.
Check
out what others are doing with Viewport!
Download
Here!
|
|
 |
DScope by Paul Baker (Parallax)
 |
This is a program which turns the Propeller into a
Digital Storage Scope (Logic Analyser). It is capable of displaying the
output to a VGA monitor or TV. Follow the instructions in dscope.spin to
compile the TV version. There are two modes of aquisition: the fast
version which has a sample rate of 150ns when the Propeller is running
at 80MHz, and the slow version which has a sample rate of 225ns or
greater. |
|
 |
FemptoBasic by Mike Green (see object exchange) |
 |
SD Card FAT16 interface by Tomas Rokicki (see Object
exchange) |
 |
|
 |
 |
Ray: This is an interesting program for debugging
that shows the vga/video output on your PC screen and lets you use your
computer's mouse and keyboard as input to the Propeller.
|
|
 |
 |
One
interesting and particularly useful application of the Propeller Eeprom
object’s VarBackup method is that values that were copied from the main
RAM’s variable memory to EEPROM are automatically restored to variable
memory on reboot. (Thanks and kudos to Jeff Martin for suggesting this
approach!) The VarRestore method can also be used to programmatically
restore variable memory to an earlier state that was copied to EEPROM by
VarRestore. |
 |
Ray:
This ability to easily save program variables to EEPROM could be very
useful!
|
|
 |
Useless (?) note on WaitPXX assembly instructions and the
flags
 | Jeff Martin (Parallax): Here is how the Z flag is affected by
WAITPEQ and WAITPNE (with a WZ effect) according to lots of testing I've
done. We haven't confirmed this via the schematics yet, but we're pretty
certain enough to tell you.
WAITPEQ: Z = 1 if State + Mask = 0. WAITPNE: Z = 1 if State + Mask +
1 = 0.
Now, I don't think we really intended for Z to be of any particular
use with these two instructions, but rather let it be whatever it
naturally ended up; just like with C.
That being said, I will be revising the docs to indicate that Z is
undefined, just like C is, for those two commands. |
 |
|
|