One Pin TV Text driver
ericball
Posts: 774
Inspired·by PhiPi's one pin solution to "Minimal TV or VGA pins", this is a driver which will output to a TV a simple two dimentional character array using an 8x8 monochrome font using only a single pin and a single cog.· NTSC and PAL are supported.
I have also included two hex fonts which display each byte as 2 hex digits.· This can be used as a very simple HUB RAM viewer.
Questions and comments welcome.
Enjoy!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Composite NTSC sprite driver: http://forums.parallax.com/showthread.php?p=800114
NTSC & PAL templates: http://forums.parallax.com/showthread.php?p=803904
I have also included two hex fonts which display each byte as 2 hex digits.· This can be used as a very simple HUB RAM viewer.
Questions and comments welcome.
Enjoy!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Composite NTSC sprite driver: http://forums.parallax.com/showthread.php?p=800114
NTSC & PAL templates: http://forums.parallax.com/showthread.php?p=803904
zip
26K
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80), MoCog (6809)
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
*Peter*
I have a problem though. I am using 6MHz (96MHz) xtal. There is an error which I cannot find. When I try to run 80x24 (obviously in single line mode) it does not work. However, if I extend the buffers, and force the carry to be set instead of the test i_mode,#1<<2 wc instruction, it works providing the rows are set to 12. Originally I misunderstood the bit definitions so I have modified that.
I cannot get PAL to work either (LCD is PAL/NTSC TV, DVD (video) and VGA 1024x768). Also, if the font is msb first, it does not display (could be due to 80 chars). However, this could·simply be solved by·reversing the bitmap in spin before running the cog - saved code space too. There are some more notes at the top of the code.
If you have a chance could you look at it please?
I would like to use it in my RamBlade · Now, to see if I can get 1 pin PS2 keyboard to work with the RC networks posted on another thread
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Style and grace : Nil point
Eric: Thanks for the PM - answers actually described in the code (haven't tried lower clock rate, I do get 80x24 running with·the code + settings attached, not setting pixel clock, _clkfreq 96MHz set correctly, PAL didn't work but I expect this LCD should, MSB failed - I tried a nop in the double section (where the rev is in the single section) and it failed.
As for msb, as I suggested in the comments, it would be simpler to have the spin just reverse the bitmap before starting the cog. This would make the cog code simpler and save code space.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
We are not far away from simple ESP equivalents now.
The other advance is in following with the eyes - needs a lot of refinements for accuracy, but blink twice for left mouse, 3 for right mouse, follow the eyes for movement [noparse]:)[/noparse]
I will create a thread for the 1-pin keyboard question I have...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
'In your 20s and having senior moments already?!! Heaven knows what will happen when you hit 30!!!
-Phil
58 next mth - OUCH!! At least I get to tease the wife for 10 mths
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
I want to be able to use the 1-pin version in SphinxOS and the RamBlade. It will also run with full 4-pin hardware, just using the single pin. I have 1-pin keyboard working which also works with the full hardware also.
From what I understand in the code (and I can understand this), for a display pixel =1, the Video counter outputs a 1 causing the display of a white pixel. When the display pixel =0, the video counter outputs 0 which is or'ed with CTRB running in PWM (dutymode) which generates the black.
Now, this means that I should be able to modify CTRB to change the black to various levels of grey background. While this would only be on a per character basis, it may yield a greyscale display.
I have still to work through the maths of the other sections of code, but I have simplified the code quite a bit. I have removed MSB font capability (I believe there is a bug one line above :active should be mov vscl,ovsclch (not mov vscl,ochrev)). MSB fonts could be reversed in spin code before launch.
I want to put a subset of VT100 into the cog.
I have tried putting the font and screen buffer in the cog also. I need to progress further on this, so for now it is in hub. I would also like to try the ROM font, but that currently eludes me as it uses alternate bits for 2 successive characters and I am not sure of the implications to 1-bit TV (lack of time to understand).
BTW: PAL is working on another TV. Not sure if it was my misunderstanding on bit3 definition or my TV. 64 chars/line is the max for 80MHz. IIRC 80chars works for 96MHz.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
· Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
Post Edited (Cluso99) : 2/17/2010 2:41:00 AM GMT
Features:
To test it, just connect your TV to any prop with TV on it (the other pins will be ignored). It uses pin 14. The test runs standalone meaning that you do not require a keyboard, or serial for that matter either. The demo program generates some text which is displayed.
A few other useful links...
Minimal TV or VGA pins··http://forums.parallax.com/showthread.php?p=796900
1-pin PS2 Keyboard - Working Beta Test Release!!! http://forums.parallax.com/showthread.php?p=862504
RamBlade: Prop+SRAM+microSD addon to run ZiCog/CPM/PropDos/Catalina, etc··http://forums.parallax.com/showthread.php?p=849265·(has a circuit diagram·and photos of·how to make a cable - includes the 1-pin Keyboard)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
· Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
Post Edited (Cluso99) : 2/19/2010 4:01:22 PM GMT
Now with flashing cursor (you can·alter the flash rate in the CON section of the driver).
ASCII controls are used. VT100 is not used as I am sure there will not be enough space. The following are implemented..
Note that right & left have bugs - when they wrap around the screen they move a line.
VT100, if implemented, will have to be run in spin to translate to the ASCII control codes.
The program runs automatically, writing to the screen, and performing the control functions listed above.
Photo is 40x25 characters
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
· Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
Post Edited (Cluso99) : 2/19/2010 8:34:08 PM GMT
It seems to me that the "chroma" feature could be useful here.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I should be typing in Spin now.
Coming soon. My open Propeller Project Pages and favorite links index.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
· Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
OTOH if you want small crisp text B&W is always going to be better because you don't have the chroma smearing, and that seems to be the point of this driver -- which is TOTALLY COOL, I might add. I especially like having the font in cog RAM and blinkiing cursor with a single cog. This will be a great channel to get debug info out of an otherwise busy and pinbound system, as well as a great primary user interface for things like text editors.
Here is a beta release.
The demo has been timed faster as it tests all the functions.
Enjoy · And let me know if you find a bug or two
Coming...·a demo in conjunction with my 1-pin keyboard.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
· Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
Here is a demo program using both the 1-pin TV and the 1-pin Keyboard.
see the thread 1-pin PS2 Keyboard - Working Beta Test Release!!! ·http://forums.parallax.com/showthread.php?p=862504·for further info.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
· Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
Post Edited (Cluso99) : 2/20/2010 2:00:26 PM GMT
1-pin PS2 Keyboard & 1-pin TV 40x25· http://forums.parallax.com/showthread.php?p=862504
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
· Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz