PropBASIC and C3 board
Rsadeika
Posts: 3,837
The first big question is - will Bean provide an XMM mode to address the flash and static RAM that is available on the board?
I was looking for my Demo Board but could not find it, but I noticed that my C3 board is collecting dust also, what to do? So I decided that I might try a small expanding experiment that would end up being a headless/stand-alone C3 board.
For the headless part I will have an XBee running as a TASK to provide a wireless connect. This should be relatively simple since I have started the XBee TASK code.
For the stand-alone part I will need some drivers for the keyboard, and VGA which the C3 board has. Access to the VGA, on the C3 is a little different, so I think somebody might have to explain to me how that is done. And then down the road maybe somebody will have developed some code for the SD card, which the C3 also has.
The next step will be is to find some PropBASIC code that will provide access to a keyboard. With a keyboard attached I will then try to get some characters onto the SimpleIDE terminal screen, which will be replaced by a VGA monitor a some point.
Some start up code shown below.
Ray
I was looking for my Demo Board but could not find it, but I noticed that my C3 board is collecting dust also, what to do? So I decided that I might try a small expanding experiment that would end up being a headless/stand-alone C3 board.
For the headless part I will have an XBee running as a TASK to provide a wireless connect. This should be relatively simple since I have started the XBee TASK code.
For the stand-alone part I will need some drivers for the keyboard, and VGA which the C3 board has. Access to the VGA, on the C3 is a little different, so I think somebody might have to explain to me how that is done. And then down the road maybe somebody will have developed some code for the SD card, which the C3 also has.
The next step will be is to find some PropBASIC code that will provide access to a keyboard. With a keyboard attached I will then try to get some characters onto the SimpleIDE terminal screen, which will be replaced by a VGA monitor a some point.
Some start up code shown below.
Ray
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' PC3base.pbas ' ' August 22, 2013 ' ' Use of Parallax C3 board. ' '''''''''''''''''''' ' Define hardware requirements '''''''''''''''''''' DEVICE P8X32A, XTAL1, PLL16X XIN 5_000_000 LED1 PIN 23 LOW LOAD "pbasic.lib" ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''' PROGRAM Start '''''''''''''''''''' Start: ' Wait for terminal screen. wait_MS 300 Main: tx_STR "The PC3Base Program.\r\n" tx_STR "Sit and watch the LED flash.\r\n" DO HIGH LED1 wait_MS 1000 LOW LED1 wait_MS 1000 LOOP END '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Comments
Here is a program to read a PS/2 keyboard and send the characters back to the terminal. Enjoy...
Bean
There are several "xmm" approaches if you want to talk about them.
David Betz wrote xbasic several years ago that uses a byte-code interpreter and xmm code.
I wrote my first hand-held LCD project with that. The resulting code is very small.
I wrote a GUI for xbasic too: http://www.microcsource.com/software.htm ... it should look familiar.
I saw mention of a single COG MicronautsVGA80.spin in that thread that only needs a 5MHz crystal.
Saw the over-clocked version posted, but that's not widely used because most boards use 5MHz.
Several of us would certainly appreciate having such a VGA driver for various projects.
Any clues to where they are? Nothing in the OBEX that I can find.
Thanks,
--Steve
A couple of things I noticed with the state of SimpleIDE, can it still run Spin projects, or do you have to have a separate SimpleIDE for doing PropGCC/Spin projects? I ask because I noticed PropBasic provides some Spin programs of the PC3base project, but when I tried to run that code, it does not compile. I was going to add a 'Program Start LMM' to the PC3base code just to see what the resulting Spin program would look like, and if it really used LMM in a Spin program.
What I am looking for, in this experiment, is a 'DOS' look and feel, of the old days. I remember the amber or green CRT display, with the characters being displayed were very crisp and readable in the 80x24 format. With most of the monitors today being widescreen it might be a challenge to come up with comparable result, not looking for an amber/green affect, but some color for characters or strings, would be nice.
Now I still need to work out the string capture compare to a command problem.
Ray
People were asking for it, but a good 80 column 80Mhz single cog driver (on a P1) was not practical as one to two scan lines would have had to be blank between each row of text, which was not sufficient for me (as I wanted graphics characters and an inverse functionality).
At 100Mhz there is exactly enough time to do it, as I made interleaved fonts allowing the inner loop to execute in 32 cycles per 8 pixels (25Mhz dot clock) synchronized to the hub (kuroneko was kind enough to help me sync to the hub)
On a P2 however it is VERY easy, heck it should only take one hardware thread!
I could make a 64 column one cog driver, but there would be some visual artifacts on vertical line segments.
For my experiment, if it took two cogs to achieve 80x24, and I could use one of the cogs too handle the keyboard, that would be a reasonable approach. Again, a reminder that this would be done in PropBASIC, and probably one of the PropBASIC experts would have to make the code usable.
Ray