• Stars
    star
    399
  • Rank 108,092 (Top 3 %)
  • Language
    C
  • Created almost 10 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Generate teletext with a Raspberry Pi

Teletext for Raspberry Pi

This software generates a teletext signal in software. No hardware mods are needed.

This support both PAL (Teletext) and NTSC (CEA608 format captions).

(The demo mode should no longer crash TVs!)

Usage:

Have a Raspberry Pi connected to a TV by composite video. It doesn't matter if you are running X or not. Dispmanx will draw over anything else.

At least 32MB of GPU memory is required.

Raspbian defaults to NTSC composite output. To permanently change it to PAL, put sdtv=2 in config.txt and reboot.

Build the programs:

make

Twiddle the registers:

sudo ./tvctl on

Ensure you see the message "Teletext output is now on."

If you're connected via PAL, run the demo:

./teletext

and press the text button on your TV remote.

If you're connected using NTSC, run the demo:

./cea608

and enable the TV's closed caption controls to show CC1.

Detailed Usage

tvctl on|off

This tool prepares the composite out for teletext transmission by shifting the output picture into the VBI area. It will check the registers are in a known state before doing anything. "on" and "off" commands will have no effect if the state is already on or off, or if the registers are in an unknown state.

teletext [-m even field line mask] [-o odd field line mask] \
         [-l white level] [-f] [-]

Optional line mask arguments are a 16 bit mask to create quiet lines in vbi output, first line is LSB, last is MSB. For example running "teletext -m 0xFFF0 -o 0x0FFF" will output teletext packets on the first four lines of even fields and last four lines of odd fields. If only one mask is provided the same value will be used for both fields.

The white level is specified as a number between 0 and 100. This is the "brightness" of the high bits of the teletext signal. Default is 100.

The '-f' argument activates full-field mode, where every available ine on the display is used for teletext, allowing much greater bandwidth. Most decoders do not support this mode.

Running with no arguments will show a demo. Running "teletext -" will read packets from stdin and display them. You can therefore pipe packets from another tool, possibly over the network with ssh or netcat.

The packet format is 42 byte raw binary packets, without the clock run-in. Each packet received will be transmitted once, so you must send packets endlessly. See

http://www.etsi.org/deliver/etsi_i_ets/300700_300799/300706/01_60/ets_300706e01p.pdf

for details of the teletext protocol.

cea608 <->

Running with no arguments will show a demo. Running "cea608 -" will read data from stdin and display. The data is in binary format, with each field represented as two bytes of parity-encoded data. This is the "raw" format some capture tools can output. Data is output at 59.97 fields per second. See

https://en.wikipedia.org/wiki/EIA-608

for details on the protocol and links to the specifications.

More Repositories

1

vhs-teletext

Software to recover teletext data from VHS recordings.
Python
164
star
2

bitmap2ttf

Convert bitmap fonts to ttf fonts using font forge.
Python
94
star
3

ytsubs

Python script to generate subscription video RSS
Python
77
star
4

rpi-ramdisk

Builds ramdisk environments for Raspberry Pi
Python
75
star
5

fullscreenhack

A preload library that fixes fullscreen flash.
C
67
star
6

pyteletext

Teletext Service Generator - deprecated, this functionality is now in https://github.com/ali1234/vhs-teletext
Python
13
star
7

gitxref

Python
13
star
8

avr-teletext

Teletext inserter for AVR microcontroller and lm1881 sync separator
C
13
star
9

rpi-toolchain

A gcc cross toolchain for all Raspberry Pi models with multiarch support
Makefile
12
star
10

systemd-gpio

A systemd unit template that does things when gpio events happen.
11
star
11

vcpoke

Read videocore physical memory by executing code through the mailbox interface
C
9
star
12

uefi-tests

Scripts to create test certificates and signed EFI executables.
8
star
13

robotkit

C++
7
star
14

kifab

Python script to export gerbers from Kicad and rename them to the defacto standard filenames.
Python
7
star
15

piroverd

Wi-Fi remote control vehicle with Raspberry Pi
C++
6
star
16

u-boot-n900

U-Boot for Nokia N900 (RX51)
C
6
star
17

avr-amiga-controller

Control an Amiga and PC with the same kb&mouse
C
6
star
18

pymtpd

MTP responder in python.
Python
5
star
19

ALEDxander

Display patterns on the Gemini LEDs on incoming phone calls
Java
4
star
20

qt5pi-builder

Cross compiles Qt 5 for Raspbian
Shell
4
star
21

headeraway

Header Away kills 100% of all known Gtk3 Header Bars
C
4
star
22

32blit-case

Custom case for 32blit
OpenSCAD
3
star
23

quickly-git-templates

Quickly templates that use git instead of bzr.
Python
3
star
24

gemini-stuff

Notes and config files to aid flashing the Gemini PDA
3
star
25

apds9960d

A daemon providing gesture input and backlight brightness control using APDS9960 sensor.
C++
2
star
26

modularfx

Node-based sound synth
Python
2
star
27

ugly

Unified Graphics Library Yarrr
Python
2
star
28

autoflash

Tool for automatically duplicating files to many USB drives.
Python
2
star
29

rpi-qml-eglfs-snap

QML
2
star
30

pimodisco

The officially unofficial Pimoroni Discord bot.
Python
2
star
31

panel-switch

Panel switcher for Xfce
Python
2
star
32

32blit-hxcmodplayer

Example showing how to use HxCModPlayer with 32blit
C
1
star
33

autofools

A very simple autotools test case
Shell
1
star
34

pydo

Just a weird thing.
Python
1
star
35

debirf-raspi

Use rpi-ramdisk instead:
Shell
1
star
36

iteres

Converter for ITE LZP images
Python
1
star
37

qmlrss

QML example loading images from RSS and displaying a slideshow.
QML
1
star
38

qmlimgur

QML example which displays an imgur album.
QML
1
star
39

friendisqt

A desktop friend
Python
1
star
40

pirovera

Android controller for Pirover
Java
1
star
41

linux-gemini

Gemini PDA kernel release grafted back on to git history.
C
1
star
42

icondiff

Create a visual diff between icon theme revisions.
Python
1
star
43

bbclock

Python
1
star
44

pyadt

Python Aminet Download Tool
Python
1
star
45

piroverc

Control client for pirover
C++
1
star
46

nvidiathing

A preload hack that might fix a buggy game on nvidia maybe
C
1
star
47

pirover

Construction plans for pirover
Eagle
1
star