Merge branch 'devel'
This commit is contained in:
17
cept.py
17
cept.py
@@ -6,15 +6,22 @@ released under GPL
|
|||||||
'''
|
'''
|
||||||
|
|
||||||
CR = "\x0d"
|
CR = "\x0d"
|
||||||
LF = "\x0a"
|
|
||||||
UMLAUT = "\xc9"
|
UMLAUT = "\xc9"
|
||||||
INI = "\x13"
|
INI = "\x13"
|
||||||
TER = "\x1c"
|
TER = "\x1c"
|
||||||
SEND = "\x1a"
|
SEND = "\x1a"
|
||||||
CURSOR_ON = "\x11"
|
CURSOR_ON = "\x11"
|
||||||
|
CURSOR_OFF = "\x14"
|
||||||
BSP = "\x08" # backspace
|
BSP = "\x08" # backspace
|
||||||
CLEARLINE = "\x18"
|
CLEARLINE = "\x18"
|
||||||
|
|
||||||
|
# TODO: stimmt das?
|
||||||
|
LEFT = "\x08"
|
||||||
|
RIGHT = "\x09"
|
||||||
|
DOWN = "\x0a"
|
||||||
|
UP = "\x0b"
|
||||||
|
HOME = "\x1e"
|
||||||
|
|
||||||
clear_line24 = (
|
clear_line24 = (
|
||||||
"\x1f\x58\x41" # Cursor Zeile 24, Spalte 0
|
"\x1f\x58\x41" # Cursor Zeile 24, Spalte 0
|
||||||
"\x18" # Zeile löschen
|
"\x18" # Zeile löschen
|
||||||
@@ -58,12 +65,12 @@ btxlogo = (
|
|||||||
"\x1b\x7e" # Zeichensatz G1 rechts
|
"\x1b\x7e" # Zeichensatz G1 rechts
|
||||||
"\x9b\x31\x40" # Farbtafel 1 (Halbtöne)
|
"\x9b\x31\x40" # Farbtafel 1 (Halbtöne)
|
||||||
"\x1b\x23\x20\x54" # ganzer Schirm blau
|
"\x1b\x23\x20\x54" # ganzer Schirm blau
|
||||||
"\x1f\x3d1# 200961a\x1f" # Link zur Demo-Startseite 200961a
|
"\x1f\x3d1# 200961a\x1f\x2f" # Link zur Demo-Startseite 200961a
|
||||||
"\x1f\x43\x48\xb8\xa3\x12\x57\xe4"
|
"\x1f\x43\x48\xb8\xa3\x12\x57\xe4"
|
||||||
"\x1f\x44\x47\xea\xa0\x12\x59\xb5"
|
"\x1f\x44\x47\xea\xa0\x12\x59\xb5"
|
||||||
"\x1f\x45\x47\xea \xe8\xfc\xdf\x12\x49\xfc\xb4 \xb5"
|
"\x1f\x45\x47\xea \xe0\xf8\xfc\xdf\x12\x49\xfc\xf4\xb0 \xb5"
|
||||||
"\x1f\x46\x47\xea \xe8\xdf\x12\x44\xa3\x12\x45\xdf\x12\x44\xb4 \xb5"
|
"\x1f\x46\x47\xea \xe8\xdf\x12\x43\xbf\xa3\x12\x45\xef\xdf\x12\x43\xb4 \xb5"
|
||||||
"\x1f\x47\x47\xea \xaa\xdf\xdf\xdf\xaf\xa1 \xfc\xdf\xdf\xfc \xa2\xaf\xdf\xdf\xdf\xa5 \xb5"
|
"\x1f\x47\x47\xea \xaa\xdf\xdf\xdf\xaf\xa1\xe0\xfc\xdf\xdf\xfc\xb0\xa2\xaf\xdf\xdf\xdf\xa5 \xb5"
|
||||||
"\x1f\x48\x47\xea \xa2\xe3\xf8\xfe\xdf\xea\xdf\x12\x43\xb5\xdf\xfd\xf4\xb3\xa1 \xb5"
|
"\x1f\x48\x47\xea \xa2\xe3\xf8\xfe\xdf\xea\xdf\x12\x43\xb5\xdf\xfd\xf4\xb3\xa1 \xb5"
|
||||||
"\x1f\x49\x47\xea \xdf\x12\x43\xea\xdf\x12\x43\xb5\xdf\x12\x43 \xb5"
|
"\x1f\x49\x47\xea \xdf\x12\x43\xea\xdf\x12\x43\xb5\xdf\x12\x43 \xb5"
|
||||||
"\x1f\x4a\x47\xea \xdf\x12\x43\xfd\xf3\xaf\xaf\xf3\xfe\xdf\x12\x43 \xb5"
|
"\x1f\x4a\x47\xea \xdf\x12\x43\xfd\xf3\xaf\xaf\xf3\xfe\xdf\x12\x43 \xb5"
|
||||||
|
12
config.py
12
config.py
@@ -6,16 +6,20 @@ Configuration file
|
|||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
## general settings:
|
## define the location of rtx pages
|
||||||
PAGES="pages/"
|
## rtx searches all directories and serves the page from the first one
|
||||||
DEMOPAGES="demopages/"
|
PAGES=[
|
||||||
|
"pages/",
|
||||||
|
"presentation/",
|
||||||
|
"demopages/",
|
||||||
|
]
|
||||||
|
|
||||||
## logging settings:
|
## logging settings:
|
||||||
# loglevel values: DEBUG (all messages) > INFO > WARNING > ERROR > CRITICAL (only cricital messages)
|
# loglevel values: DEBUG (all messages) > INFO > WARNING > ERROR > CRITICAL (only cricital messages)
|
||||||
LOGLEVEL=logging.DEBUG
|
LOGLEVEL=logging.DEBUG
|
||||||
|
|
||||||
## serial port settings:
|
## serial port settings:
|
||||||
PORT="/dev/pts/10"
|
PORT="/dev/pts/5"
|
||||||
#PORT="/dev/ttyUSB0"
|
#PORT="/dev/ttyUSB0"
|
||||||
BAUDRATE="2400"
|
BAUDRATE="2400"
|
||||||
# if the system is connected directly (null-modem): MODE=direct
|
# if the system is connected directly (null-modem): MODE=direct
|
||||||
|
1
demopages/11
Symbolic link
1
demopages/11
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
10501a
|
1
demopages/abida
Symbolic link
1
demopages/abida
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
35853a
|
1
demopages/adac
Symbolic link
1
demopages/adac
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
654320a
|
1
demopages/bka
Symbolic link
1
demopages/bka
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
86553222a
|
1
demopages/cbm
Symbolic link
1
demopages/cbm
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
20095a
|
1
demopages/chip
Symbolic link
1
demopages/chip
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
50707545a
|
1
demopages/commodore
Symbolic link
1
demopages/commodore
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
20095a
|
1
demopages/dimdi
Symbolic link
1
demopages/dimdi
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
44479a
|
1
demopages/eden
Symbolic link
1
demopages/eden
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
33033a
|
1
demopages/etb
Symbolic link
1
demopages/etb
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
1188a
|
1
demopages/faz
Symbolic link
1
demopages/faz
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
34034a
|
1
demopages/ffmi
Symbolic link
1
demopages/ffmi
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
34034100a
|
1
demopages/geisterbahn
Symbolic link
1
demopages/geisterbahn
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
5400404a
|
1
demopages/lotto
Symbolic link
1
demopages/lotto
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
57575a
|
1
demopages/markttechnik
Symbolic link
1
demopages/markttechnik
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
64064a
|
1
demopages/mut
Symbolic link
1
demopages/mut
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
64064a
|
1
demopages/neuemedien
Symbolic link
1
demopages/neuemedien
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
34344a
|
1
demopages/pcnet
Symbolic link
1
demopages/pcnet
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
208888a
|
1
demopages/post
Symbolic link
1
demopages/post
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
20000a
|
1
demopages/rheinpfalz
Symbolic link
1
demopages/rheinpfalz
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
67007a
|
1
demopages/schrottplatz
Symbolic link
1
demopages/schrottplatz
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
9204920400920a
|
1
demopages/semmel
Symbolic link
1
demopages/semmel
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
208585a
|
1
demopages/starduck
Symbolic link
1
demopages/starduck
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
20147475a
|
1
demopages/vznrw
Symbolic link
1
demopages/vznrw
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
21212a
|
1
doc/CEPT/retropulsiv-template.cept
Normal file
1
doc/CEPT/retropulsiv-template.cept
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/B# ( @FA#!0Op!LL"Op!LL"0@@Cp!LL!O|OpL@Cp!0Gx!A`%@X!0Cp!LL!L@%0@@Cp!LL$Cp!0@@"ACG~!\@X@0@@"FC!LF!_xO`0GGGONXN_\\@!@@[[0xp@@yl!SM!@@[[0@@"p@!`@!@@"0'Yf AA# W<>RetroText( @CA<0F><>!<21>"<22>#<23>$<24>%DJ<44><4A>1@<40>&'()*(@<0F>1@BU<42>RetroPulsiv 8.0DT<44>26.+27. Nov. 2016EA<45>PgVA<56>Pg<>0@WA<57>0@+ @<40>0<EFBFBD>+ZurHuck Zeichensatz+<2B>#<23>X` 1990aXA<58>
|
1
doc/CEPT/template.cept
Normal file
1
doc/CEPT/template.cept
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/B# ( @GA# GA#!0'Yf 0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@=10 190a=2# 19001a/AA+ @<0C>1@# T<>0@RetroTextBA#!T"#$CA#!T%&' <20>UeberschriftEATextWA#!T<>0<EFBFBD>!ZurHuck Weiter!<21>#<23>X` 19000aXA
|
BIN
doc/DRCs.ods
Normal file
BIN
doc/DRCs.ods
Normal file
Binary file not shown.
BIN
doc/Farbdefinition.ods
Normal file
BIN
doc/Farbdefinition.ods
Normal file
Binary file not shown.
11
doc/Nummernkreis 190.txt
Normal file
11
doc/Nummernkreis 190.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
190 - Leitseite ACN
|
||||||
|
|
||||||
|
190 0 - Präsentation
|
||||||
|
190 0xx
|
||||||
|
|
||||||
|
190 1 - RetroPulsiv
|
||||||
|
190 101 - Über die Retropulsiv
|
||||||
|
190 102 - Vortragsprogramm
|
||||||
|
|
||||||
|
190 9 - Testbilder
|
||||||
|
190 9xx
|
@@ -1,128 +0,0 @@
|
|||||||
Präsentation retroText
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
Bildschirmtext (Btx) war ein inter-
|
|
||||||
aktiver Onlinedienst.
|
|
||||||
|
|
||||||
Vorstellung auf der IFA '77 in Berlin
|
|
||||||
von Postminister Kurt Gscheidle
|
|
||||||
Entwickelt unter der Leitung von Eric
|
|
||||||
Danke, inspiriert 1975 durch Veröffent-
|
|
||||||
lichung über das britische
|
|
||||||
PRESTEL-System.
|
|
||||||
|
|
||||||
----
|
|
||||||
|
|
||||||
1980 Feldversuch mit 2000 Teilnehmern.
|
|
||||||
18. März 1983 Unterzeichnung des
|
|
||||||
Btx-Staatsvertrags
|
|
||||||
1. Sept. 1983 Start zur IFA
|
|
||||||
|
|
||||||
Nutzer: 1986 ca. 60.000 (gepl.: 1 Mio.)
|
|
||||||
erst 1996 1 Mio., aber da war es schon
|
|
||||||
T-Online mit Internet+E-Mail
|
|
||||||
|
|
||||||
31.12.2001: Abschaltung des
|
|
||||||
klassischen Btx
|
|
||||||
Online-Banking noch bis 10. Mai 2007
|
|
||||||
|
|
||||||
----
|
|
||||||
|
|
||||||
Btx-Leitzentrale in Ulm
|
|
||||||
Zu Beginn Vermittlungsstellen in
|
|
||||||
Düsseldorf, Hamburg, Frankfurt/M,
|
|
||||||
München, Stuttgart
|
|
||||||
Geplant waren 150 VSt...
|
|
||||||
|
|
||||||
----
|
|
||||||
|
|
||||||
Österreich:
|
|
||||||
Start Juni 1982,
|
|
||||||
MUPID als eigenes Terminal
|
|
||||||
(vgl. RetroPulsiv 7.0)
|
|
||||||
Ende: November 2001
|
|
||||||
|
|
||||||
----
|
|
||||||
|
|
||||||
Ähnliche Systeme in Europa:
|
|
||||||
|
|
||||||
Schweiz: Videotex
|
|
||||||
UK: Prestel
|
|
||||||
Schweden: Prestel plus
|
|
||||||
Frankreich: Minitel
|
|
||||||
Dänemark: Teledata
|
|
||||||
Italien: Videotel
|
|
||||||
Niederlande: Viditel
|
|
||||||
Spanien: Ibertex
|
|
||||||
|
|
||||||
Deutschland
|
|
||||||
-----------
|
|
||||||
|
|
||||||
Btx-Endgerät:
|
|
||||||
- Fernseher mit Btx-Decoder oder
|
|
||||||
Set-Top-Box (z.B. btxTv)
|
|
||||||
- Btx-Terminal (z.B. MultiTel, MultiKom)
|
|
||||||
- Computer mit Btx-Karten/-Modulen
|
|
||||||
oder Software
|
|
||||||
|
|
||||||
Postmodem:
|
|
||||||
- D-BT 03 war lange der Standard
|
|
||||||
- 1200 Bit/s empfangen,
|
|
||||||
75 Bit/s senden (V.23)
|
|
||||||
- feste Anschlußkennung (EPROM)
|
|
||||||
- fest programmierte Telefonnummer
|
|
||||||
- eigenes Anschlußinterface
|
|
||||||
|
|
||||||
- später auch alternative Modems,
|
|
||||||
Akustikkoppler erlaubt
|
|
||||||
- hierfür war "Software-Kennung" nötig
|
|
||||||
- Zugänge mit höherer Datenrate kamen
|
|
||||||
erst über die Jahre
|
|
||||||
|
|
||||||
Zugangsdaten:
|
|
||||||
- Anschlußkennung (12 Stellen) identi-
|
|
||||||
fiziert den Telefonanschluß
|
|
||||||
- aufgrunnd fehlender "CallerID", da ja
|
|
||||||
noch viele VSt Analogtechnik hatten
|
|
||||||
|
|
||||||
- Benutzerkennung identifiziert den
|
|
||||||
Teilnehmer
|
|
||||||
- Mitbenutzerkennung z.B. andere
|
|
||||||
Familienmitglieder
|
|
||||||
- Persönliches Kennwort als Sicherheit
|
|
||||||
|
|
||||||
- Für nomadische Benutzer:
|
|
||||||
- Anschlußfreizügigkeit
|
|
||||||
- Teilnehmerfreizügigkeit
|
|
||||||
|
|
||||||
Btx-Server:
|
|
||||||
- Hierarchisch organisiert
|
|
||||||
- Leitzentrale in Ulm mit IBM-Technik
|
|
||||||
- weitere VSt waren "Caches"
|
|
||||||
- "externe Rechner" wurden direkt
|
|
||||||
angesprochen, waren per Datex-P
|
|
||||||
(X.25) angebunden
|
|
||||||
- Beispiele: Quelle, Fluglinien, Bahn,
|
|
||||||
Banken ...
|
|
||||||
|
|
||||||
Kosten für Inhalte:
|
|
||||||
- "seitenabhängige Vergütung":
|
|
||||||
0,01 DM bis 9,99 DM möglich
|
|
||||||
- "zeitabhängige Vergütung":
|
|
||||||
0,01 DM bis 1,30 DM pro Min. möglich
|
|
||||||
- Abrechnung über Telefonrechnung
|
|
||||||
|
|
||||||
1993: Trennung von Netz (Datex-J)
|
|
||||||
und Inhalt (Btx)
|
|
||||||
Btx blieb aber der einzige Dienst
|
|
||||||
im Datex-J
|
|
||||||
1995: Umbenennung in T-Online
|
|
||||||
|
|
||||||
Österreich: "PAN" (Public Access
|
|
||||||
Network), 1993-1995
|
|
||||||
|
|
||||||
Der CEPT-Standard
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
|
|
||||||
https://de.wikipedia.org/wiki/Minitel
|
|
BIN
doc/rtx-Logo.png
Normal file
BIN
doc/rtx-Logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 386 B |
36
doc/socat mit dosbox.txt
Normal file
36
doc/socat mit dosbox.txt
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
socat mit DosBox als "virtuelles Modem"
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
In der dosbox-Konfigurationsdatei folgenden Eintrag hinzufügen/ändern:
|
||||||
|
|
||||||
|
----------
|
||||||
|
[serial]
|
||||||
|
serial1=nullmodem server port:5000
|
||||||
|
----------
|
||||||
|
|
||||||
|
Nun öffnet dosbox beim Start den TCP-Port 5000, worüber COM1 von DOS aus
|
||||||
|
verfügbar ist.
|
||||||
|
|
||||||
|
Um von Linux-Seite her einen "virtuellen seriellen Port" zur Vefügung zu haben,
|
||||||
|
folgendes Kommando eingeben:
|
||||||
|
|
||||||
|
# socat -d -d tcp:127.0.0.1:5000 pty,raw,echo=0
|
||||||
|
|
||||||
|
Dies verbindet den Port 5000 (dosbox) mit einem neuen /dev/pts-Device.
|
||||||
|
Welches /dev/pts-Device es ist, gibt socat beim Start aus, z.B.:
|
||||||
|
|
||||||
|
----------
|
||||||
|
socat[8054] N opening connection to AF=2 127.0.0.1:5000
|
||||||
|
socat[8054] N successfully connected from local address AF=2 127.0.0.1:51590
|
||||||
|
socat[8054] N PTY is /dev/pts/5
|
||||||
|
socat[8054] N starting data transfer loop with FDs [5,5] and [6,6]
|
||||||
|
----------
|
||||||
|
|
||||||
|
In die RetroText-Konfiguration config.py muß nun (in diesem Beispiel)
|
||||||
|
|
||||||
|
PORT="/dev/pts/5"
|
||||||
|
MODE="direct"
|
||||||
|
|
||||||
|
eingetragen werden.
|
||||||
|
MODE="direct" sorgt dafür, daß nicht auf ein Klingelzeichen gewartet wird,
|
||||||
|
welches von dosbox/socat nicht ausgegeben wird.
|
15
pages/190101a
Normal file
15
pages/190101a
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
/B# ( @FA#!0Op!LL"Op!LL"0@@Cp!LL!O|OpL@Cp!0Gx!A`%@X!0Cp!LL!L@%0@@Cp!LL$Cp!0@@"ACG~!\@X@0@@"FC!LF!_xO`0GGGONXN_\\@!@@[[0xp@@yl!SM!@@[[0@@"p@!`@!@@"0'Yf =10 190a=2# 190102a/AA# W<>RetroText( @CA<0F><>!<21>"<22>#<23>$<24>%DJ<44><4A>1@<40>&'()*(@<0F>1@BU<42>RetroPulsiv 8.0DR<44>HUber die RetroPulsivEA<45>PgVA<56>Pg<>0@+ @FA<46>
|
||||||
|
<20>Es gib zu wenig Retrocomputing-
|
||||||
|
Veranstaltungen im SHuden der Republik!
|
||||||
|
|
||||||
|
<EFBFBD>Wer kennt sie nicht, die Computer der
|
||||||
|
60er, 70er und 80er Jahre? Kaum jemand
|
||||||
|
aus der "Generation Golf" sa<19> nicht in
|
||||||
|
seiner Jugend vor einem C64, CPC oder
|
||||||
|
trHaumte von einem Amiga oder Atari ST.
|
||||||
|
Diese Zeit, in der die Welt der Compu-
|
||||||
|
ter vielfHaltig war und die begrenzten
|
||||||
|
technischen MHoglichkeiten ein hohes Ma<19>
|
||||||
|
an Kreativitat fHorderten, <20>wird auf der
|
||||||
|
RETROpulsiv an der HS Augsburg (erneut)
|
||||||
|
zum Leben erweckt!<21>WA<57>0@<40>0<EFBFBD>+ZurHuck VortrHage+<2B>#<23>Xb<58>190101aXA<58>
|
16
pages/190102a
Normal file
16
pages/190102a
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
/B# ( @FA#!0Op!LL"Op!LL"0@@Cp!LL!O|OpL@Cp!0Gx!A`%@X!0Cp!LL!L@%0@@Cp!LL$Cp!0@@"ACG~!\@X@0@@"FC!LF!_xO`0GGGONXN_\\@!@@[[0xp@@yl!SM!@@[[0@@"p@!`@!@@"0'Yf =10 190a=2# 190103a/AA# W<>RetroText( @CA<0F><>!<21>"<22>#<23>$<24>%DJ<44><4A>1@<40>&'()*(@<0F>1@BU<42>RetroPulsiv 8.0DR<44>Das VortragsprogrammEA<45>PgVA<56>Pg<>0@+ @FA<46><41>Samstag 26. November 2016<31>
|
||||||
|
<EFBFBD>11:30 <20>Dr. Stefan HHoltgen:<3A>
|
||||||
|
G.W. Leibniz und der ALTAIR 8800
|
||||||
|
Eine archHaologische Verschaltung
|
||||||
|
von Computern und Philosophie
|
||||||
|
<EFBFBD>15:00 <20>Herwig Solf:<3A> Feuer fur den A500
|
||||||
|
klassische Beschleunigung
|
||||||
|
fHur die Freundin, aber wie?
|
||||||
|
<EFBFBD>17:00 <20>Christian Krenner:<3A> Space Chase:
|
||||||
|
Entwicklung eines Spiels fHur die
|
||||||
|
CBM II-Computer
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD>Sonntag 27. November 2016<31><36>
|
||||||
|
<EFBFBD>13:00 <20>Richard LHowenstein:<3A> RESHOOT
|
||||||
|
Entwicklung eines Shoot em Up
|
||||||
|
fHur den Amiga 1200WA<57>0@<40>0<EFBFBD>+ZurHuck Veranstaltungen+<2B>#<23>Xb<58>190102aXA<58>
|
1
pages/190103a
Normal file
1
pages/190103a
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/B# ( @FA#!0Op!LL"Op!LL"0@@Cp!LL!O|OpL@Cp!0Gx!A`%@X!0Cp!LL!L@%0@@Cp!LL$Cp!0@@"ACG~!\@X@0@@"FC!LF!_xO`0GGGONXN_\\@!@@[[0xp@@yl!SM!@@[[0@@"p@!`@!@@"0'Yf =10 190a/AA# W<>RetroText( @CA<0F><>!<21>"<22>#<23>$<24>%DJ<44><4A>1@<40>&'()*(@<0F>1@BU<42>RetroPulsiv 8.0CY<43>WeitereDQ<44>PflichtveranstaltungenEA<45>PgVA<56>Pg<>0@+ @FA<46>...WA<57>0@<40>0<EFBFBD>+ZurHuckXb<58>190103aXA<58>
|
@@ -1,8 +1,7 @@
|
|||||||
/# ( @GA#!0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@AA›1@# T(@"A›0@ž‡( @!"#
|
/B# ( @GA#!0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@0'Yf =10 1909a=2# 190911a/AA›1@# T"Až›0@‡RetroText
|
||||||
$%& (@
|
+ @#!T
|
||||||
<EFBFBD>Bildschirmtrix
|
#!T›1@<40>Œ$%&
!"#
|
||||||
#!T
|
<EFBFBD> Testbild: ZeichensHatze
|
||||||
#!T›1@<40>
Testbild: ZeichensHatze *charset#
|
|
||||||
<0A>0@<40><><EFBFBD>
|
<0A>0@<40><><EFBFBD>
|
||||||
(@<0F><>G0-SET:<3A><> <20>!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7E>
|
(@<0F><>G0-SET:<3A><> <20>!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7E>
|
||||||
|
|
||||||
@@ -10,7 +9,4 @@
|
|||||||
|
|
||||||
(@<0F><>G2-SET:<3A><>(b <20>!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7E>
|
(@<0F><>G2-SET:<3A><>(b <20>!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7E>
|
||||||
|
|
||||||
(@’€G3-SET:‡ž(d <20>!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ž
|
(@’€G3-SET:‡ž(d <20>!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ž
WA(@#!Tƒ0‡'ZurHuck DRCS'ƒ#‡X` 190910aXA
|
||||||
|
|
||||||
(@#!TWeiter mit # oder *Seitennummer#
|
|
||||||
Eingabe ==>
|
|
16
pages/1909111a
Normal file
16
pages/1909111a
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
/B# ( @KA#!0@^QHJCEDBB0@@p_@yabCA0@DO`XN{trH0@f@@@@`pP0@@x~DCXX[X0@@@@@@xOpX0@@@@@@@@|N0CAABFLLHLD0WJGCA@@@AB0eRH`pPQhLF0FCAHfPHh`@0ToHXYIHIIL0aFX`@@@`@`0p@@@@@@@@@0DEECCAA@@@0Lxpp@@GlXO0CA@@Gx@Oxp0@pPPXHHhhl0LLDDCCA@AA0PPxp`@@```0@@@@@@@@@@0@@@x_@@@@0GB]A@pP@C0Qqcb@@@@CB0DDFBBBBrNB0@@@@@@@@@@0```PPPPLom0@@@@@@@@@`=10 1909a=2# 1909112aAA<0C>1@# T"A<>0@<40><>RetroText
|
||||||
|
|
||||||
|
#!T
|
||||||
|
#!T<>0@<40><><EFBFBD><EFBFBD>
|
||||||
|
Testbild DRCS
|
||||||
|
|
||||||
|
<EFBFBD>0@<40><><EFBFBD>
|
||||||
|
BTX DRCS-Beispiel nach CEPT T/CD 6-1
|
||||||
|
|
||||||
|
|
||||||
|
Alle geladenen DRCS Zeichen:
|
||||||
|
|
||||||
|
( @!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
|
||||||
|
|
||||||
|
|
||||||
|
|
20
pages/1909112a
Normal file
20
pages/1909112a
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
/C/@XSeite wird aufgebaut/B# ( @GA#!0@@@@@@@@@@@@@@@@@@@@0@@@@@@@@@A@G@L@sAoFO0@A@OCp\]`\P]|]~O^N^G0`ANsnww}wm~bGp0`@|@Gp`^`S`pApCqCsxw0@@@@@@@@@@p@L@b@q`rp0@@@@@@@@@@@@@@@@@@@@0@@@@@@@A@C@F@D@J@V@w0LgX{~_o^O{CfChAX@`A@0lxc`L@p@`@@@@@@@@@@w0@@@@@sAsCWDQ[@}`t`j`0NMAq@M`B@A@@@@M@BP@\0gH}t|rmuoNR_LFsCvAd0@@@@@@@@`@P@h@l@T@r@0@cAYA~B|BNE{G|OeI}H}0b@t@OOsSOPn`S`L@B@A0A{AAz@~@`@@@@@`@@Bg0R`BX@H@FABCAB@M@_B~B0@^@G@A@A@A@@~@pS~P0@w`WPI|EnEGbAA@A@@`@0m@]@|`|`bPwP]H\HhL`D0HBPBPBPDpDaDodeLhoh0@AHBpCpBqCA^AHA@@@@0B^Al@P@@@A@AH@HOhGdA0@B@BX@|P|pxwAgFgGO0XWEM_w0P@d@~@}L~|CpAp@`T~d0`DPDPFPBHBHBkZk{y[y0lHoHoIlIoiol`L`D`DpD0C@G@f@DA|ArAXAXBXBpB0B@pOhPFPAp@@D@]@KpG`0_OF[xWL_GG_|y_y[0c0~H~C~b~j}hHZvf}0YiYyYyiiimiykcxBxBxB0PDPBPZK~OqI}O}D_DC0pBPBLBLB@B@B`A`APAPA0@@@A@C@GAF_D_XY_i0_`p0G{~~0y{y`ypypY`[@B@D0pBpFpDhDnDlOhshsP_P0CAAAc@n@X@X@K@G@B@A0h@lAvA[AYazq~Y]Lvmy0h@dC@@GAHOG@hGwcX@o@0o_sG[OwY@0y~~||xp`a0@E@J@W@gAkC]D^HOwFo@0~`|`Y@I@z@t@l@h@P@`@0@A@@@@@@@@@@@@@@@@@@0{|wIM}B^An@p@L@C@A0t`LPCdDMcKsYCUcGGsG0@@@@@@}Y{Y0f|g~GpEWG_gc{`{G0_AorD}X|pi`f@L@p@@@0@@@@@@@@@@@@@@@@@@@@=10 1909a=2# 190912a/AA<0C>1@# T(@"A<>0@<40><>RetroText
|
||||||
|
|
||||||
|
#!T
|
||||||
|
#!T<>0@<40><><EFBFBD><EFBFBD>
|
||||||
|
Testbild DRCS2
|
||||||
|
|
||||||
|
|
||||||
|
<EFBFBD>0@<40><><EFBFBD>BTX DRCS-Beispiel nach CEPT T/CD 6-1
|
||||||
|
|
||||||
|
|
||||||
|
Geladenene DRCS Zeichen:
|
||||||
|
|
||||||
|
( @!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(@Zusammengebaut zu einem Bild:
|
||||||
|
|
||||||
|
|
||||||
|
|
13
pages/190911a
Normal file
13
pages/190911a
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
/B# ( @GA#!0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@0'Yf =10 1909a=2# 1909111a/AA<0C>1@# T+ @"A<><41>0@<40>RetroText
|
||||||
|
|
||||||
|
#!T
|
||||||
|
#!T<>1@<40><>$%&
|
||||||
|
!"#
|
||||||
|
<EFBFBD> Testbild: DRCS
|
||||||
|
<EFBFBD>0@<40><><EFBFBD>
|
||||||
|
|
||||||
|
(@<0F><>G0-SET:<3A><> <20>!"#$%&'()*+,-./0123456789:;<=>?<3F>
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD>DRCS: <20><> ( @<0F>!"#$%&'()*+,-./0123456789:;<=>?<3F>(@
|
||||||
|
|
||||||
|
|
@@ -1,8 +1,8 @@
|
|||||||
/# ( @GA#!0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@AA›1@# T(@"A›0@ž‡( @!"#
|
/B# ( @GA#!0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@0'Yf =10 1909a=2# 190920a/AA›1@# T+ @"Až›0@‡RetroText
|
||||||
$%& (@
|
|
||||||
<EFBFBD>Bildschirmtrix
|
|
||||||
#!T
|
#!T
|
||||||
#!T›1@<40>
Testbild: Farben *colorset#
|
#!T›1@<40>Œ$%&
!"#
|
||||||
|
<EFBFBD> Testbild: Farben
|
||||||
|
|
||||||
›0@Œž‡(@›0@’€Farbtabelle #1‡ž
|
›0@Œž‡(@›0@’€Farbtabelle #1‡ž
|
||||||
›0@<40> ‘ ’ “ ” • – — <20> ‘ ’ “ ” • – —
|
›0@<40> ‘ ’ “ ” • – — <20> ‘ ’ “ ” • – —
|
||||||
›0@’€Farbtabelle #2‡ž
|
›0@’€Farbtabelle #2‡ž
|
||||||
@@ -12,5 +12,4 @@
|
|||||||
›0@’€Farbtabelle #4 (Frei definierbar)‡ž
|
›0@’€Farbtabelle #4 (Frei definierbar)‡ž
|
||||||
›3@<40> ‘ ’ “ ” • – — <20> ‘ ’ “ ” • – —
|
›3@<40> ‘ ’ “ ” • – — <20> ‘ ’ “ ” • – —
|
||||||
›0@
|
›0@
|
||||||
ž‡(@#!TWeiter mit # oder *Seitennummer#
|
žWA(@#!Tƒ0‡'ZurHuck Farbreinheit rot'ƒ#‡X` 190912aXA
|
||||||
Eingabe ==>
|
|
1
pages/190920a
Normal file
1
pages/190920a
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/B=10 1909a=2# 190921a/AA# Q<>
|
1
pages/190921a
Normal file
1
pages/190921a
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/B=10 1909a=2# 190922a/AA# R<>
|
1
pages/190922a
Normal file
1
pages/190922a
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/B=10 1909a=2# 190923a/AA# T<>
|
1
pages/190923a
Normal file
1
pages/190923a
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/B=10 1909a=2# 190924a/AA# W<>
|
@@ -1 +1 @@
|
|||||||
# P≒(dZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
(@
|
/B=10 1909a=2# 190925a/AA# P‡<50>(@................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
|
@@ -1 +1 @@
|
|||||||
# P≒(@................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
|
/B=10 1909a=2# 190926a/AA# P≒(dZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
(@
|
1
pages/190926a
Normal file
1
pages/190926a
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/B=10 1909a=2# 1909a/AA# P<><50> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20><>
|
18
pages/1909a
Normal file
18
pages/1909a
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
/B# ( @GA# GA#!0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@0'Yf =110190910a=211190911a=312190912a=420190920a=521190921a=622190922a=723190923a=824190924a=925190925a=:26190926a=;0 190a=<# 190910a/AA<0C>1@# T"A<><41>0@<40>RetroText
|
||||||
|
|
||||||
|
#!T
|
||||||
|
#!T<>1@+ @<40>$%&
|
||||||
|
!"#
|
||||||
|
<EFBFBD> Testbilder *test#
|
||||||
|
|
||||||
|
<EFBFBD>0@<40><><EFBFBD>* @
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD>Decodertest:<3A><>
|
||||||
|
|
||||||
|
Zeichensatz<EFBFBD>L<>10<31>
|
||||||
|
|
||||||
|
Zeichensatz (DRCS)<29>E<>11<31>
|
||||||
|
|
||||||
|
Farben<EFBFBD>Q<>12<31>
|
||||||
|
|
||||||
|
|
10
pages/190a
Normal file
10
pages/190a
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
/B# ( @FA#!0Op!LL"Op!LL"0@@Cp!LL!O|OpL@Cp!0Gx!A`%@X!0Cp!LL!L@%0@@Cp!LL$Cp!0@@"ACG~!\@X@0@@"FC!LF!_xO`0GGGONXN_\\@!@@[[0xp@@yl!SM!@@[[0@@"p@!`@!@@"0'Yf =11 190101a=22 190102a=33 1909a=44 1900a=55 200961a/AA# W<>RetroText( @CA<0F><>!<21>"<22>#<23>$<24>%DJ<44><4A>1@<40>&'()*(@<0F>1@BU<42>RetroPulsiv 8.0DT<44>26.+27. Nov. 2016EA<45>PgVA<56>Pg<>0@+ @FA<46>
|
||||||
|
<20>Herzlich Willkommen zur RetroPulsiv!<21>
|
||||||
|
|
||||||
|
HUber die RetroPulsiv +C 1
|
||||||
|
Vortragsprogramm +G 2
|
||||||
|
|
||||||
|
Testbilder +M 3
|
||||||
|
PrHasentation +K 4
|
||||||
|
|
||||||
|
Btx-Demonstration +F 5WA<57>0@<40>0<EFBFBD>+ZurHuck Zeichensatz+<2B>#<23>Xe<58>190aXA<58>
|
@@ -1 +0,0 @@
|
|||||||
# T<>
|
|
@@ -1 +0,0 @@
|
|||||||
# P<><50> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20><>
|
|
21
pages/drcs
21
pages/drcs
@@ -1,21 +0,0 @@
|
|||||||
/# ) @GA#!0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@AA<1E>1@# T(@"A<>0@<40><>(c|||
|
|
||||||
|
|
||||||
/// (@
|
|
||||||
<EFBFBD>Bildschirmtrix
|
|
||||||
|
|
||||||
#!T
|
|
||||||
#!T<>1@<40>
|
|
||||||
Testbild: DRCS *drcs#
|
|
||||||
|
|
||||||
<EFBFBD>0@<40><><EFBFBD>
|
|
||||||
|
|
||||||
(@<0F><>G0-SET:<3A><> <20>!"#$%&'()*+,-./0123456789:;<=>?<3F>
|
|
||||||
|
|
||||||
<EFBFBD><EFBFBD>DRCS: <20><> ( @<0F>!"#$%&'()*+,-./0123456789:;<=>?<3F>(@
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(@<0F><>G0-SET:<3A><> <20>@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_<><5F><EFBFBD>DRCS: <20><> ( @<0F>@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_<>(@
|
|
||||||
|
|
20
pages/drcs1
20
pages/drcs1
@@ -1,20 +0,0 @@
|
|||||||
/# ( @KA#!0@^QHJCEDBB0@@p_@yabCA0@DO`XN{trH0@f@@@@`pP0@@x~DCXX[X0@@@@@@xOpX0@@@@@@@@|N0CAABFLLHLD0WJGCA@@@AB0eRH`pPQhLF0FCAHfPHh`@0ToHXYIHIIL0aFX`@@@`@`0p@@@@@@@@@0DEECCAA@@@0Lxpp@@GlXO0CA@@Gx@Oxp0@pPPXHHhhl0LLDDCCA@AA0PPxp`@@```0@@@@@@@@@@0@@@x_@@@@0GB]A@pP@C0Qqcb@@@@CB0DDFBBBBrNB0@@@@@@@@@@0```PPPPLom0@@@@@@@@@`AA<0C>1@# T(@"A<>0@<40><>Bildschirmtrix
|
|
||||||
|
|
||||||
<EFBFBD>0@#!W
|
|
||||||
#!W<>1@<40><><EFBFBD>1@<40>
|
|
||||||
Testbild *drcs#
|
|
||||||
|
|
||||||
<EFBFBD>0@<40><><EFBFBD>BTX DRCS-Beispiel nach CEPT T/CD 6-1
|
|
||||||
|
|
||||||
|
|
||||||
Alle geladenen DRCS Zeichen:
|
|
||||||
|
|
||||||
( @!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(@Zusammengebaut zu einem Bild:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
( @!"#$%&'
|
|
20
pages/drcs2
20
pages/drcs2
@@ -1,20 +0,0 @@
|
|||||||
/# ( @GA#!0@@@@@@@@@@@@@@@@@@@@0@@@@@@@@@A@G@L@sAoFO0@A@OCp\]`\P]|]~O^N^G0`ANsnww}wm~bGp0`@|@Gp`^`S`pApCqCsxw0@@@@@@@@@@p@L@b@q`rp0@@@@@@@@@@@@@@@@@@@@0@@@@@@@A@C@F@D@J@V@w0LgX{~_o^O{CfChAX@`A@0lxc`L@p@`@@@@@@@@@@w0@@@@@sAsCWDQ[@}`t`j`0NMAq@M`B@A@@@@M@BP@\0gH}t|rmuoNR_LFsCvAd0@@@@@@@@`@P@h@l@T@r@0@cAYA~B|BNE{G|OeI}H}0b@t@OOsSOPn`S`L@B@A0A{AAz@~@`@@@@@`@@Bg0R`BX@H@FABCAB@M@_B~B0@^@G@A@A@A@@~@pS~P0@w`WPI|EnEGbAA@A@@`@0m@]@|`|`bPwP]H\HhL`D0HBPBPBPDpDaDodeLhoh0@AHBpCpBqCA^AHA@@@@0B^Al@P@@@A@AH@HOhGdA0@B@BX@|P|pxwAgFgGO0XWEM_w0P@d@~@}L~|CpAp@`T~d0`DPDPFPBHBHBkZk{y[y0lHoHoIlIoiol`L`D`DpD0C@G@f@DA|ArAXAXBXBpB0B@pOhPFPAp@@D@]@KpG`0_OF[xWL_GG_|y_y[0c0~H~C~b~j}hHZvf}0YiYyYyiiimiykcxBxBxB0PDPBPZK~OqI}O}D_DC0pBPBLBLB@B@B`A`APAPA0@@@A@C@GAF_D_XY_i0_`p0G{~~0y{y`ypypY`[@B@D0pBpFpDhDnDlOhshsP_P0CAAAc@n@X@X@K@G@B@A0h@lAvA[AYazq~Y]Lvmy0h@dC@@GAHOG@hGwcX@o@0o_sG[OwY@0y~~||xp`a0@E@J@W@gAkC]D^HOwFo@0~`|`Y@I@z@t@l@h@P@`@0@A@@@@@@@@@@@@@@@@@@0{|wIM}B^An@p@L@C@A0t`LPCdDMcKsYCUcGGsG0@@@@@@}Y{Y0f|g~GpEWG_gc{`{G0_AorD}X|pi`f@L@p@@@0@@@@@@@@@@@@@@@@@@@@AA<0C>1@# T(@"A<>0@<40><>Bildschirmtrix
|
|
||||||
|
|
||||||
<EFBFBD>0@#!W
|
|
||||||
#!W<>1@<40><><EFBFBD>1@<40>
|
|
||||||
Testbild *drcs2#
|
|
||||||
|
|
||||||
<EFBFBD>0@<40><><EFBFBD>BTX DRCS-Beispiel nach CEPT T/CD 6-1
|
|
||||||
|
|
||||||
|
|
||||||
Geladenene DRCS Zeichen:
|
|
||||||
|
|
||||||
( @!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(@Zusammengebaut zu einem Bild:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
( @<0F>!"#$%&'
|
|
@@ -1 +0,0 @@
|
|||||||
# R<>
|
|
1
pages/test
Symbolic link
1
pages/test
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
1990a
|
@@ -1,25 +0,0 @@
|
|||||||
/# ( @GA#!0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@AA<1E>1@# T(@"A<>0@<40><>( @!"#
|
|
||||||
|
|
||||||
$%& (@
|
|
||||||
<EFBFBD>Bildschirmtrix
|
|
||||||
|
|
||||||
#!T
|
|
||||||
#!T<>1@<40>
|
|
||||||
Testbilder: *testbild#
|
|
||||||
|
|
||||||
<EFBFBD>0@<40><><EFBFBD>(@
|
|
||||||
|
|
||||||
<EFBFBD>Decodertest:<3A>
|
|
||||||
|
|
||||||
Zeichensatz.............<2E>10 *charset#<23>
|
|
||||||
|
|
||||||
Zeichensatz (DRCS)......<2E>11 *drcs#<23>
|
|
||||||
|
|
||||||
Farben..................<2E>12 *colorset#<23>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<EFBFBD>Monitortest:<3A>
|
|
||||||
|
|
||||||
Farbreinheit (rot)......<2E>20 *red#<23>
|
|
||||||
|
|
@@ -1 +0,0 @@
|
|||||||
# W<>
|
|
15
presentation/190000a
Normal file
15
presentation/190000a
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
/B# ( @GA# GA#!0'Yf 0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@=10 1900a=2# 190001a/AA+ @<0C>1@# T<>0@RetroTextBA#!T"#$CA#!T%&' <20>BildschirmtextEABildschirmtext (Btx) war ein inter-
|
||||||
|
aktiver Onlinedienst.
|
||||||
|
|
||||||
|
Vorstellung auf der <20>IFA '77<37> in Berlin
|
||||||
|
von Postminister Kurt Gscheidle
|
||||||
|
|
||||||
|
Entwickelt unter der Leitung von Eric
|
||||||
|
Danke, inspiriert <20>1975<37> durch VerHoffent-
|
||||||
|
lichung Huber das britische
|
||||||
|
PRESTEL-System.
|
||||||
|
|
||||||
|
<EFBFBD>1980<EFBFBD> Feldversuch mit 2000 Teilnehmern.
|
||||||
|
18. MHarz <20>1983<38> Unterzeichnung des
|
||||||
|
Btx-Staatsvertrags
|
||||||
|
1. Sept. <20>1983<38> Start zur IFAWA#!T<>0<EFBFBD>!ZurHuck Weiter!<21>#<23>X` 190000aXA
|
13
presentation/190001a
Normal file
13
presentation/190001a
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
/B# ( @GA# GA#!0'Yf 0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@=10 1900a=2# 190002a/AA+ @<0C>1@# T<>0@RetroTextBA#!T"#$CA#!T%&' <20>BildschirmtextEANutzer: <20>1986<38> ca. <20>60.000<EFBFBD> (gepl.: 1 Mio.)
|
||||||
|
erst <20>1996 1 Mio.<2E>, aber da war es schon
|
||||||
|
T-Online mit Internet+E-Mail
|
||||||
|
|
||||||
|
<EFBFBD>31.12.2001<EFBFBD>: Abschaltung des
|
||||||
|
klassischen Btx
|
||||||
|
Online-Banking noch bis 10. Mai <20>2007<30>
|
||||||
|
|
||||||
|
Btx-Leitzentrale in <20>Ulm<6C>
|
||||||
|
Zu Beginn Vermittlungsstellen in
|
||||||
|
DHusseldorf, Hamburg, Frankfurt/M,
|
||||||
|
MHunchen, Stuttgart
|
||||||
|
Geplant waren 150 VSt...WA#!T<>0<EFBFBD>!ZurHuck Weiter!<21>#<23>X` 190001aXA
|
16
presentation/190002a
Normal file
16
presentation/190002a
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
/B# ( @GA# GA#!0'Yf 0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@=10 190001a=2# 190003a/AA+ @<0C>1@# T<>0@RetroTextBA#!T"#$CA#!T%&' <20>Andere LHanderEA<45><41>HOsterreich:<3A><>
|
||||||
|
Start Juni <20>1982<38>,
|
||||||
|
MUPID als eigenes Terminal
|
||||||
|
(vgl. RetroPulsiv 7.0)
|
||||||
|
Ende: November <20>2001<30>
|
||||||
|
|
||||||
|
HAhnliche Systeme in <20>Europa<70>:
|
||||||
|
|
||||||
|
<20>Schweiz<69>: Videotex
|
||||||
|
<20>UK<55>: Prestel
|
||||||
|
<20>Schweden<65>: Prestel plus
|
||||||
|
<20>Frankreich<63>: Minitel
|
||||||
|
<20>DHanemark<72>: Teledata
|
||||||
|
<20>Italien<65>: Videotel
|
||||||
|
<EFBFBD>Niederlande<EFBFBD>: Viditel
|
||||||
|
<20>Spanien<65>: IbertexWA#!T<>0<EFBFBD>!ZurHuck Weiter!<21>#<23>X` 190002aXA
|
8
presentation/190003a
Normal file
8
presentation/190003a
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
/B# ( @GA# GA#!0'Yf 0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@=10 190002a=2# 190004a/AA+ @<0C>1@# T<>0@RetroTextBA#!T"#$CA#!T%&' <20>Btx in DeutschlandEA<45><41>Btx-EndgerHate:<3A><>
|
||||||
|
|
||||||
|
- Fernseher mit Btx-Decoder oder
|
||||||
|
Set-Top-Box (z.B. btxTv)
|
||||||
|
- Btx-Terminal (z.B. MultiTel/-Kom)
|
||||||
|
- Computer mit Btx-Karten/-Modulen
|
||||||
|
oder Software
|
||||||
|
- HOffentliche Btx-TerminalsWA#!T<>0<EFBFBD>!ZurHuck Weiter!<21>#<23>X` 190003aXA
|
13
presentation/190004a
Normal file
13
presentation/190004a
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
/B# ( @GA# GA#!0'Yf 0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@=10 190003a=2# 190005a/AA+ @<0C>1@# T<>0@RetroTextBA#!T"#$CA#!T%&' <20>ModemsEA<45>Postmodem:<3A>
|
||||||
|
- D-BT 03 war lange der Standard
|
||||||
|
- <20>1200<30> Bit/s empfangen,
|
||||||
|
<20>75<37> Bit/s senden (V.23)
|
||||||
|
- feste Anschlu<19>kennung (EPROM)
|
||||||
|
- fest programmierte Telefonnummer
|
||||||
|
- eigenes Anschlu<19>interface
|
||||||
|
|
||||||
|
- spHater auch alternative Modems,
|
||||||
|
Akustikkoppler erlaubt
|
||||||
|
- hierfHur war <20>Software-Kennung<6E> nHotig
|
||||||
|
- ZugHange mit hHoherer Datenrate kamen
|
||||||
|
erst Huber die JahreWA#!T<>0<EFBFBD>!ZurHuck Weiter!<21>#<23>X` 190004aXA
|
16
presentation/190005a
Normal file
16
presentation/190005a
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
/B# ( @GA# GA#!0'Yf 0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@=10 190004a=2# 190006a/AA+ @<0C>1@# T<>0@RetroTextBA#!T"#$CA#!T%&' <20>ZugangsdatenEA- <20>Anschlu<19>kennung<6E> (12 Stellen) identi-
|
||||||
|
fiziert den Telefonanschlu<19>
|
||||||
|
- aufgrunnd fehlender <20>CallerID<49>, da ja
|
||||||
|
noch viele VSt Analogtechnik hatten
|
||||||
|
- zunHachst fest in D-BT03 integriert,
|
||||||
|
spHater <20>Software-Kennung<6E> mHoglich
|
||||||
|
|
||||||
|
- <20>Benutzerkennung<6E> identifiziert den
|
||||||
|
Teilnehmer
|
||||||
|
- <20>Mitbenutzerkennung<6E> z.B. andere
|
||||||
|
Familienmitglieder
|
||||||
|
- <20>PersHonliches Kennwort<72> als Sicherheit
|
||||||
|
|
||||||
|
- FHur nomadische Benutzer:
|
||||||
|
- Anschlu<19>freizHugigkeit
|
||||||
|
- TeilnehmerfreizHugigkeitWA#!T<>0<EFBFBD>!ZurHuck Weiter!<21>#<23>X` 190005aXA
|
16
presentation/190006a
Normal file
16
presentation/190006a
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
/B# ( @GA# GA#!0'Yf 0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@=10 190005a=2# 190007a/AA+ @<0C>1@# T<>0@RetroTextBA#!T"#$CA#!T%&' <20>Btx-ZentraleEADas Btx-System war hierarchisch
|
||||||
|
organisiert.
|
||||||
|
- <20>Leitzentrale<6C> in Ulm mit IBM-Technik
|
||||||
|
- weitere VSt waren "Caches"
|
||||||
|
- <20>externe Rechner<65> wurden direkt
|
||||||
|
angesprochen, waren per <20>Datex-P<>
|
||||||
|
(X.25) angebunden
|
||||||
|
- Beispiele: Quelle, Fluglinien, Bahn,
|
||||||
|
Banken ...
|
||||||
|
|
||||||
|
Kosten fHur Inhalte:
|
||||||
|
- <20>seitenabhHangige VergHutung<6E>:
|
||||||
|
<20>0,01 DM<44> bis <20>9,99 DM<44> mHoglich
|
||||||
|
- <20>zeitabhHangige VergHutung<6E>:
|
||||||
|
<20>0,01 DM<44> bis <20>1,30 DM<44> pro Min. mHoglich
|
||||||
|
- Abrechnung Huber TelefonrechnungWA#!T<>0<EFBFBD>!ZurHuck Weiter!<21>#<23>X` 190006aXA
|
12
presentation/190007a
Normal file
12
presentation/190007a
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
/B# ( @GA# GA#!0'Yf 0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@=10 190006a=2# 190008a/AA+ @<0C>1@# T<>0@RetroTextBA#!T"#$CA#!T%&' <20>Datex-JEA<45>Datex-J<>:
|
||||||
|
|
||||||
|
<EFBFBD>1993<EFBFBD>: Trennung von Netz (Datex-J)
|
||||||
|
und Inhalt (Btx)
|
||||||
|
Btx blieb aber der einzige
|
||||||
|
Dienst in Datex-J
|
||||||
|
<EFBFBD>1995<EFBFBD>: Umbenennung in <20>T-Online<6E>
|
||||||
|
|
||||||
|
<EFBFBD>HOsterreich:<3A>
|
||||||
|
|
||||||
|
<EFBFBD>PAN<EFBFBD> (Public Access Network)
|
||||||
|
<20>1993<39>-<2D>1995<39>WA#!T<>0<EFBFBD>!ZurHuck Weiter!<21>#<23>X` 190007aXA
|
15
presentation/190008a
Normal file
15
presentation/190008a
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
/B# ( @GA# GA#!0'Yf 0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@=10 190007a=2# 190009a/AA+ @<0C>1@# T<>0@RetroTextBA#!T"#$CA#!T%&' <20>Frankreich: MinitelEASehr erfolgreiches System mit
|
||||||
|
eigenen Terminals.
|
||||||
|
|
||||||
|
Testbetrieb <20>1981<38>, Start <20>1982<38>.
|
||||||
|
Einstellung <20>30.Juni 2012<31> (!)
|
||||||
|
|
||||||
|
Terminals kostenlos erhHaltlich, statt
|
||||||
|
gedrucktem Telefonbuch.
|
||||||
|
|
||||||
|
<EFBFBD>1985<EFBFBD>: 1 Mio. Nutzer
|
||||||
|
<EFBFBD>1990<EFBFBD>: 4 Mio. Nutzer
|
||||||
|
<20>1990er<65>: 25.000 Dienste
|
||||||
|
<EFBFBD>2000<EFBFBD>: 25 Mio. Nutzer (HHochstzahl)
|
||||||
|
<EFBFBD>2010<EFBFBD>: 2 Mio. Nutzer - 2.400 Dienste
|
||||||
|
<EFBFBD>Juni 2012<31>: 400.000 N. / 1.800 D.WA#!T<>0<EFBFBD>!ZurHuck Weiter!<21>#<23>X` 190008aXA
|
13
presentation/190009a
Normal file
13
presentation/190009a
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
/B# ( @GA# GA#!0'Yf 0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@=10 190008a=2# 190010a/AA+ @<0C>1@# T<>0@RetroTextBA#!T"#$CA#!T%&' <20>Der CEPT-StandardEADie bei Btx dargestellten Daten sind
|
||||||
|
im CEPT-Standard gespeicherte Seiten.
|
||||||
|
|
||||||
|
CEPT-Seiten sind mit Steuerzeichen
|
||||||
|
angereicherte Textdateien. Die Steuer-
|
||||||
|
zeichen sind jedoch am besten mit einem
|
||||||
|
Hex-Editor sicht- und editierbar.
|
||||||
|
|
||||||
|
HUber Steuerzeichen lassen sich Farb-
|
||||||
|
paletten Handern, Zeichenattribute fest-
|
||||||
|
legen, der Zeichensatz umschalten und
|
||||||
|
auch eigene ZeichensHatze frei
|
||||||
|
definieren (<28>DRCS<43>).WA#!T<>0<EFBFBD>!ZurHuck Weiter!<21>#<23>X` 190009aXA
|
14
presentation/190010a
Normal file
14
presentation/190010a
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
/B# ( @GA# GA#!0'Yf 0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@=10 190009a=2# 190011a/AA+ @<0C>1@# T<>0@RetroTextBA#!T"#$CA#!T%&' <20>ZeichensHatzeEAEs gibt 4 Standard-ZeichensHatze, <20>G0<47>-<2D>G3<47>.
|
||||||
|
|
||||||
|
Weiterhin den Zeichensatz <20>L<EFBFBD> mit Zeichen
|
||||||
|
aus G0+G1 aufgr. Prestel-KompatibilitHat.
|
||||||
|
|
||||||
|
<EFBFBD>G0<EFBFBD> enthHalt die meisten <20>ASCII<49>-Zeichen
|
||||||
|
<EFBFBD>G1<EFBFBD> enthHalt <20>Blockgrafik<69>-Elemente mit
|
||||||
|
<20>2x3<78> BlHocken pro Zeichen
|
||||||
|
<EFBFBD>G2<EFBFBD> enthHalt weitere <20>Sonderzeichen<65>
|
||||||
|
<EFBFBD>G3<EFBFBD> enthHalt weitere <20>Grafiksymbole<6C>, z.B.
|
||||||
|
Liniensymbole
|
||||||
|
|
||||||
|
ZeichensHatze kHonnen gemischt verwendet
|
||||||
|
werden, auch innerhalb einer Zeile.WA#!T<>0<EFBFBD>!ZurHuck Weiter!<21>#<23>X` 190010aXA
|
14
presentation/190011a
Normal file
14
presentation/190011a
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
/B# ( @GA# GA#!0'Yf 0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@=10 190010a=2# 190012a/AA+ @<0C>1@# T<>0@RetroTextBA#!T"#$CA#!T%&' <20>Dynamische ZeichensHatze (DRC)EAMit DRCs lassen sich eigene Zeichen mit
|
||||||
|
<EFBFBD>12x10<EFBFBD> bzw. <20>12x12<31> (bei 20x40 Zeichen)
|
||||||
|
definieren.
|
||||||
|
|
||||||
|
Ein DRC-Zeichen kann <20>2<EFBFBD>-, <20>4<EFBFBD>- oder <20>16<31>-
|
||||||
|
<EFBFBD>farbig<EFBFBD> sein, letzteres aber nur bei
|
||||||
|
max. <20>6x10<31> Pixeln GrHoH<>e.
|
||||||
|
|
||||||
|
Durch DRCs lassen sich hoch aufgelHoste
|
||||||
|
Bilder darstellen, die Huber die normalen
|
||||||
|
Blockgrafiken hinausgehen.
|
||||||
|
|
||||||
|
Zeichen aller ZeichensHatze (incl. DRCs)
|
||||||
|
sind auf der gleichen Seite darstellbar!WA#!T<>0<EFBFBD>!ZurHuck Weiter!<21>#<23>X` 190011aXA
|
15
presentation/190012a
Normal file
15
presentation/190012a
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
/B# ( @GA# GA#!0'Yf 0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@=10 190011a=29 1900a/AA+ @<0C>1@# T<>0@RetroTextBA#!T"#$CA#!T%&' <20>RetroTextEA<45>RetroText<78> ist eine in <20>Python<6F> implemen-
|
||||||
|
tierte Fassung eines Btx-Servers.
|
||||||
|
Es wurde inspiriert von <20>Norbert Kehrers<72>
|
||||||
|
Btx-Server-Projekt,
|
||||||
|
siehe RetroPulsiv 7.0.
|
||||||
|
|
||||||
|
Infos unter
|
||||||
|
<20>*<2A>acn.wtf/retrotext.html<6D>#<23> <20>:)<29>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> Fragen?<3F><><EFBFBD>
|
||||||
|
WA#!T<>0<EFBFBD>!ZurHuck Zum Anfang!<21>9<EFBFBD>X` 190012aXA
|
1
presentation/1900a
Normal file
1
presentation/1900a
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/B# ( @GA# GA#!0'Yf 0@@@@CL@p@pOpqp|p@0@@@@@@@@@@CpO|0@@@@p@L@C|CCcOC@C0pOppppp@L@C@@@@0O|O|ss|O@@@@@@@@0|CCCCC@C@Lp@@@@=10 190a=2# 190000a/AA+ @<0C>1@# T<>0@RetroTextBA#!T"#$CA#!T%&' <20>PrHasentation RetroText~FH<46><48>W<>GG<47><47>Y<>HG<48> <20><><EFBFBD><EFBFBD>I<><49><EFBFBD> <20>IG<49> <20><>C<><43>E<><45>C<> <20>JG<4A> <20><><EFBFBD>߯<EFBFBD><DFAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߥ <20>KG<4B> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>C<><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>LG<4C> <20>C<><43>C<><43>C <20>MG<4D> <20>C<><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>C <20>NG<4E> <20>M <20>OG<4F> Y<>PG<50> D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𰰰<EFBFBD> D<>QG<51> D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> D<>RG<52> D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> D<>SG<53><47><EFBFBD>W<><57>TI<54>WWA#!T<>0<EFBFBD>!ZurHuck Weiter!<21>#<23>X` 1900aXA
|
3
rtx.py
Normal file → Executable file
3
rtx.py
Normal file → Executable file
@@ -23,7 +23,8 @@ import logging
|
|||||||
logging.basicConfig(format='%(asctime)s %(levelname)s: %(message)s', level=config.LOGLEVEL, datefmt='%Y-%m-%d %I:%M:%S')
|
logging.basicConfig(format='%(asctime)s %(levelname)s: %(message)s', level=config.LOGLEVEL, datefmt='%Y-%m-%d %I:%M:%S')
|
||||||
|
|
||||||
# initialize serial connection to client
|
# initialize serial connection to client
|
||||||
glob.ser = serial.Serial(config.PORT, config.BAUDRATE, timeout=None)
|
logging.debug("Serial port %s, Baud rate %s", config.PORT, config.BAUDRATE)
|
||||||
|
glob.ser = serial.Serial(config.PORT, config.BAUDRATE, timeout=None, rtscts=True, dsrdtr=True)
|
||||||
logging.info("Serial port %s opened", glob.ser.name)
|
logging.info("Serial port %s opened", glob.ser.name)
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
|
@@ -11,6 +11,7 @@ import cept
|
|||||||
import glob
|
import glob
|
||||||
import logging
|
import logging
|
||||||
import config
|
import config
|
||||||
|
import rtxMask
|
||||||
|
|
||||||
def process_byte(in_byte):
|
def process_byte(in_byte):
|
||||||
""" takes the received byte and processes the command line
|
""" takes the received byte and processes the command line
|
||||||
@@ -100,10 +101,12 @@ def process_command(cmd):
|
|||||||
else:
|
else:
|
||||||
# check if the next page exists, e.g. 2000a => 2000b
|
# check if the next page exists, e.g. 2000a => 2000b
|
||||||
curid = glob.curpage.get_page_id()
|
curid = glob.curpage.get_page_id()
|
||||||
if curid[-1:].isalpha():
|
if curid == -1:
|
||||||
|
send_error("Keine n"+ cept.UMLAUT +"achste Seite gefunden.")
|
||||||
|
elif str(curid[-1:]).isalpha():
|
||||||
# aus 2000a 2000b machen:
|
# aus 2000a 2000b machen:
|
||||||
nextid = curid[:-1] + chr(ord(curid[-1:])+1)
|
nextid = curid[:-1] + chr(ord(curid[-1:])+1)
|
||||||
check_and_send_page(nextid, "Keine n"+str(cept['UMLAUT'])+"achste Seite gefunden.")
|
check_and_send_page(nextid, "Keine n" + cept.UMLAUT +"achste Seite gefunden.")
|
||||||
|
|
||||||
# special commands:
|
# special commands:
|
||||||
if cmd == "!1" + cept.TER:
|
if cmd == "!1" + cept.TER:
|
||||||
@@ -111,8 +114,13 @@ def process_command(cmd):
|
|||||||
return
|
return
|
||||||
if cmd == "!2" + cept.TER:
|
if cmd == "!2" + cept.TER:
|
||||||
glob.ser.write(bytes(cept.init_screen, "latin-1"))
|
glob.ser.write(bytes(cept.init_screen, "latin-1"))
|
||||||
|
maske = rtxMask.rtxMask()
|
||||||
|
maske.addLine(3,1,10)
|
||||||
|
maske.addLine(4,4,10)
|
||||||
|
maske.process_input()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
def goto_last_page():
|
def goto_last_page():
|
||||||
""" go back to the previous page and make the current page the previous page
|
""" go back to the previous page and make the current page the previous page
|
||||||
"""
|
"""
|
||||||
@@ -128,9 +136,9 @@ def goto_last_page():
|
|||||||
|
|
||||||
def send_welcome_page():
|
def send_welcome_page():
|
||||||
""" get the btxlogo, make a rtxPage of it and send it to the client """
|
""" get the btxlogo, make a rtxPage of it and send it to the client """
|
||||||
wpage = rtxPage()
|
glob.curpage = rtxPage()
|
||||||
wpage.set_page(bytes(cept.btxlogo, "latin-1"))
|
glob.curpage.set_page(bytes(cept.btxlogo, "latin-1"))
|
||||||
send_page(wpage)
|
send_page(glob.curpage)
|
||||||
|
|
||||||
def check_and_send_page(pgnr, errormsg):
|
def check_and_send_page(pgnr, errormsg):
|
||||||
""" checks if the page "pgnr" exists
|
""" checks if the page "pgnr" exists
|
||||||
|
158
rtxMask.py
Normal file
158
rtxMask.py
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
# -*- coding: UTF-8 -*-
|
||||||
|
'''
|
||||||
|
rtx - RetroText
|
||||||
|
rtxMask: Klasse zur Verarbeitung einer Eingabemaske
|
||||||
|
by Anna Christina Naß <acn@acn.wtf>
|
||||||
|
released under GPL
|
||||||
|
'''
|
||||||
|
|
||||||
|
import glob
|
||||||
|
import logging
|
||||||
|
import config
|
||||||
|
import cept
|
||||||
|
|
||||||
|
class rtxMask:
|
||||||
|
""" Klasse zur Verarbeitung einer Eingabemaske
|
||||||
|
"""
|
||||||
|
|
||||||
|
lines = []
|
||||||
|
answers = []
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
return
|
||||||
|
|
||||||
|
def addLine(self, x, y, length):
|
||||||
|
""" adds a new line for the mask to the object """
|
||||||
|
newLine = {}
|
||||||
|
newLine['x'] = x
|
||||||
|
newLine['y'] = y
|
||||||
|
newLine['length'] = length
|
||||||
|
self.lines.append(newLine)
|
||||||
|
|
||||||
|
def get_answer(self, nr):
|
||||||
|
""" returns the answer for a specific line """
|
||||||
|
if nr >= 0 and nr <= len(self.answers):
|
||||||
|
return self.answers[nr]
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def get_answers(self):
|
||||||
|
""" returns the array of all answers """
|
||||||
|
return self.answers
|
||||||
|
|
||||||
|
def _pos_cur_to_line(self, line):
|
||||||
|
""" positions the cursor to the beginning of a line """
|
||||||
|
self._pos_cur_to_xy(line['x'], line['y'])
|
||||||
|
|
||||||
|
def _pos_cur_to_xy(self, x, y):
|
||||||
|
""" positions the cursor to a (x,y) position on screen """
|
||||||
|
toX=0x41 + x
|
||||||
|
toY=0x41 + y
|
||||||
|
gotoString = "\x1f" + chr(toX) + chr(toY)
|
||||||
|
glob.ser.write(bytes(gotoString, "latin-1"))
|
||||||
|
|
||||||
|
def _set_str_at_pos(self, char, pos, line):
|
||||||
|
""" changes the 'char' at a position 'pos' of a specific answer 'line' """
|
||||||
|
zeile = self.answers[line]
|
||||||
|
|
||||||
|
# if the line is shorter than the position, add spaces
|
||||||
|
while len(zeile) < pos:
|
||||||
|
zeile += " "
|
||||||
|
|
||||||
|
zeile = zeile[:pos-1] + char + zeile[pos:]
|
||||||
|
self.answers[line] = zeile
|
||||||
|
|
||||||
|
def process_input(self):
|
||||||
|
""" reads the input from the client, fills the mask and gets the input """
|
||||||
|
|
||||||
|
# if there have no input lines been defined, no input can be processed - so exit the function
|
||||||
|
if len(self.lines) == 0:
|
||||||
|
logging.debug("Keine Zeilen in der Maske definiert!")
|
||||||
|
return False
|
||||||
|
|
||||||
|
# position the cursor into the first field
|
||||||
|
self._pos_cur_to_line(self.lines[0])
|
||||||
|
|
||||||
|
posx = 0 # cursor position inside the line - max. position is length-1
|
||||||
|
posy = 0 # the current line - max. number is len(self.lines)-1
|
||||||
|
|
||||||
|
weiter = True
|
||||||
|
# read input and interpret it
|
||||||
|
while weiter==True:
|
||||||
|
# if the modem hangs up, exit the function:
|
||||||
|
#if config.MODE == "modem" and glob.ser.getCD() == False:
|
||||||
|
# weiter=False
|
||||||
|
in_byte = glob.ser.read(1)
|
||||||
|
instr = str(in_byte, encoding="latin-1")
|
||||||
|
echostr = instr
|
||||||
|
|
||||||
|
if instr == cept.TER or instr == cept.CR:
|
||||||
|
# go to the beginning of the next line
|
||||||
|
# or finish the mask
|
||||||
|
if posy == len(self.lines)-1:
|
||||||
|
weiter = False
|
||||||
|
self._send_data()
|
||||||
|
else:
|
||||||
|
# go to the beginning of the next line
|
||||||
|
posy += 1
|
||||||
|
posx = 0
|
||||||
|
self._pos_cur_to_line(self.lines[posy])
|
||||||
|
elif instr == cept.BSP:
|
||||||
|
self.answers[posy] = self.answers[posy][:-1]
|
||||||
|
posx -= 1
|
||||||
|
elif instr == cept.UP:
|
||||||
|
# if the cursor is in the first line, we can't go higher...
|
||||||
|
# so we ignore the keypress
|
||||||
|
echostr = "" # no echo needed, we position the curser ourselves
|
||||||
|
if posy > 0:
|
||||||
|
posy -= 1
|
||||||
|
posx = 0
|
||||||
|
self._pos_cur_to_line(self.lines[posy])
|
||||||
|
elif instr == cept.DOWN:
|
||||||
|
# same here: last line => it can't go lower => ignore
|
||||||
|
echostr = "" # no echo needed, we position the curser ourselves
|
||||||
|
if posy < len(self.lines):
|
||||||
|
posy += 1
|
||||||
|
posx = 0
|
||||||
|
self._pos_cur_to_line(self.lines[posy])
|
||||||
|
elif instr == cept.LEFT:
|
||||||
|
if posx > 0:
|
||||||
|
posx -= 1
|
||||||
|
else:
|
||||||
|
echostr = ""
|
||||||
|
elif instr == cept.RIGHT:
|
||||||
|
if posx < len(self.answers[posy]):
|
||||||
|
posx += 1
|
||||||
|
else:
|
||||||
|
echostr = ""
|
||||||
|
elif instr == cept.HOME:
|
||||||
|
posy = 0
|
||||||
|
posx = 0
|
||||||
|
self._pos_cur_to_line(self.lines[posy])
|
||||||
|
echostr = ""
|
||||||
|
elif instr == cept.SEND: # ist das DCT??
|
||||||
|
weiter = False
|
||||||
|
self._send_data()
|
||||||
|
elif instr.isalnum():
|
||||||
|
# "normal" input
|
||||||
|
# TODO: lineinput == Zeilenende beachten
|
||||||
|
#self._set_str_at_pos(instr, posx, posy)
|
||||||
|
posx += 1
|
||||||
|
else:
|
||||||
|
# ignore the rest and do not echo it :)
|
||||||
|
echostr = ""
|
||||||
|
|
||||||
|
# now send the echo
|
||||||
|
glob.ser.write(bytes(echostr, "latin-1"))
|
||||||
|
|
||||||
|
def _send_data(self):
|
||||||
|
""" strip spaces from the right of the answers and save them """
|
||||||
|
new_answers = []
|
||||||
|
for answer in self.answers:
|
||||||
|
temp = answer.rstrip()
|
||||||
|
new_answers.append(temp)
|
||||||
|
self.answers = new_answers
|
||||||
|
print(self.answers)
|
||||||
|
|
||||||
|
|
||||||
|
|
@@ -12,6 +12,9 @@ import config
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
def init_modem():
|
def init_modem():
|
||||||
|
logging.debug("clearing input/output buffers")
|
||||||
|
glob.ser.reset_input_buffer()
|
||||||
|
glob.ser.reset_output_buffer()
|
||||||
""" send the modem init strings to the modem """
|
""" send the modem init strings to the modem """
|
||||||
logging.debug("init_modem")
|
logging.debug("init_modem")
|
||||||
if config.MODEM_INIT1 != "":
|
if config.MODEM_INIT1 != "":
|
||||||
|
29
rtxPage.py
29
rtxPage.py
@@ -35,11 +35,9 @@ class rtxPage:
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def exists(page):
|
def exists(page):
|
||||||
""" checks if the page (i.e. the file) exists """
|
""" checks if the page (i.e. the file) exists """
|
||||||
if os.path.isfile(config.PAGES + page):
|
for path in config.PAGES:
|
||||||
|
if os.path.isfile(path + page):
|
||||||
return True
|
return True
|
||||||
elif os.path.isfile(config.DEMOPAGES + page):
|
|
||||||
return True
|
|
||||||
else:
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def get_page(self):
|
def get_page(self):
|
||||||
@@ -78,17 +76,19 @@ class rtxPage:
|
|||||||
returns False if the page cannot be found
|
returns False if the page cannot be found
|
||||||
returns True if the page has been loaded
|
returns True if the page has been loaded
|
||||||
"""
|
"""
|
||||||
if os.path.isfile(config.PAGES + page):
|
for path in config.PAGES:
|
||||||
filename = config.PAGES + page
|
if os.path.isfile(path + page):
|
||||||
elif os.path.isfile(config.DEMOPAGES + page):
|
filename = path + page
|
||||||
filename = config.DEMOPAGES + page
|
""" page has been found, now exit the for loop """
|
||||||
|
break
|
||||||
else:
|
else:
|
||||||
|
""" page does not exist anywhere, so exit the function """
|
||||||
return False
|
return False
|
||||||
|
|
||||||
with open(filename, "rb") as f:
|
with open(filename, "rb") as f:
|
||||||
self.die_seite = f.read()
|
self.die_seite = f.read()
|
||||||
self.seiten_nummer = page
|
self.seiten_nummer = page
|
||||||
link_liste = self._get_link_list()
|
self.link_liste = self._get_link_list()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def _get_link_list(self):
|
def _get_link_list(self):
|
||||||
@@ -98,17 +98,14 @@ class rtxPage:
|
|||||||
"""
|
"""
|
||||||
links = []
|
links = []
|
||||||
links = re.findall("\x1f\x3d([^\x1f\x9b\x1b]+)", str(self.die_seite, "latin-1"))
|
links = re.findall("\x1f\x3d([^\x1f\x9b\x1b]+)", str(self.die_seite, "latin-1"))
|
||||||
|
liste = {}
|
||||||
|
|
||||||
for item in links:
|
for item in links:
|
||||||
if item[0] != "0":
|
if item[0] != "0":
|
||||||
link = item[1:3].strip()
|
link = item[1:3].strip()
|
||||||
target = item[3:].strip()
|
target = item[3:].strip()
|
||||||
self.link_liste[link] = target
|
liste[link] = target
|
||||||
|
|
||||||
logging.info(self.link_liste)
|
logging.info(liste)
|
||||||
|
|
||||||
if self.link_liste == {}:
|
|
||||||
return False
|
|
||||||
else:
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
return liste
|
||||||
|
Reference in New Issue
Block a user