1
0

Merge branch 'devel'

This commit is contained in:
acn
2018-05-30 14:14:47 +02:00
80 changed files with 868 additions and 545 deletions

17
cept.py
View File

@@ -6,15 +6,22 @@ released under GPL
'''
CR = "\x0d"
LF = "\x0a"
UMLAUT = "\xc9"
INI = "\x13"
TER = "\x1c"
SEND = "\x1a"
CURSOR_ON = "\x11"
CURSOR_OFF = "\x14"
BSP = "\x08" # backspace
CLEARLINE = "\x18"
# TODO: stimmt das?
LEFT = "\x08"
RIGHT = "\x09"
DOWN = "\x0a"
UP = "\x0b"
HOME = "\x1e"
clear_line24 = (
"\x1f\x58\x41" # Cursor Zeile 24, Spalte 0
"\x18" # Zeile löschen
@@ -58,12 +65,12 @@ btxlogo = (
"\x1b\x7e" # Zeichensatz G1 rechts
"\x9b\x31\x40" # Farbtafel 1 (Halbtöne)
"\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\x44\x47\xea\xa0\x12\x59\xb5"
"\x1f\x45\x47\xea \xe8\xfc\xdf\x12\x49\xfc\xb4 \xb5"
"\x1f\x46\x47\xea \xe8\xdf\x12\x44\xa3\x12\x45\xdf\x12\x44\xb4 \xb5"
"\x1f\x47\x47\xea \xaa\xdf\xdf\xdf\xaf\xa1 \xfc\xdf\xdf\xfc \xa2\xaf\xdf\xdf\xdf\xa5 \xb5"
"\x1f\x45\x47\xea \xe0\xf8\xfc\xdf\x12\x49\xfc\xf4\xb0 \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\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\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"

View File

@@ -6,16 +6,20 @@ Configuration file
import logging
## general settings:
PAGES="pages/"
DEMOPAGES="demopages/"
## define the location of rtx pages
## rtx searches all directories and serves the page from the first one
PAGES=[
"pages/",
"presentation/",
"demopages/",
]
## logging settings:
# loglevel values: DEBUG (all messages) > INFO > WARNING > ERROR > CRITICAL (only cricital messages)
LOGLEVEL=logging.DEBUG
## serial port settings:
PORT="/dev/pts/10"
PORT="/dev/pts/5"
#PORT="/dev/ttyUSB0"
BAUDRATE="2400"
# if the system is connected directly (null-modem): MODE=direct

1
demopages/11 Symbolic link
View File

@@ -0,0 +1 @@
10501a

1
demopages/abida Symbolic link
View File

@@ -0,0 +1 @@
35853a

1
demopages/adac Symbolic link
View File

@@ -0,0 +1 @@
654320a

1
demopages/bka Symbolic link
View File

@@ -0,0 +1 @@
86553222a

1
demopages/cbm Symbolic link
View File

@@ -0,0 +1 @@
20095a

1
demopages/chip Symbolic link
View File

@@ -0,0 +1 @@
50707545a

1
demopages/commodore Symbolic link
View File

@@ -0,0 +1 @@
20095a

1
demopages/dimdi Symbolic link
View File

@@ -0,0 +1 @@
44479a

1
demopages/eden Symbolic link
View File

@@ -0,0 +1 @@
33033a

1
demopages/etb Symbolic link
View File

@@ -0,0 +1 @@
1188a

1
demopages/faz Symbolic link
View File

@@ -0,0 +1 @@
34034a

1
demopages/ffmi Symbolic link
View File

@@ -0,0 +1 @@
34034100a

1
demopages/geisterbahn Symbolic link
View File

@@ -0,0 +1 @@
5400404a

1
demopages/lotto Symbolic link
View File

@@ -0,0 +1 @@
57575a

1
demopages/markttechnik Symbolic link
View File

@@ -0,0 +1 @@
64064a

1
demopages/mut Symbolic link
View File

@@ -0,0 +1 @@
64064a

1
demopages/neuemedien Symbolic link
View File

@@ -0,0 +1 @@
34344a

1
demopages/pcnet Symbolic link
View File

@@ -0,0 +1 @@
208888a

1
demopages/post Symbolic link
View File

@@ -0,0 +1 @@
20000a

1
demopages/rheinpfalz Symbolic link
View File

@@ -0,0 +1 @@
67007a

1
demopages/schrottplatz Symbolic link
View File

@@ -0,0 +1 @@
9204920400920a

1
demopages/semmel Symbolic link
View File

@@ -0,0 +1 @@
208585a

1
demopages/starduck Symbolic link
View File

@@ -0,0 +1 @@
20147475a

1
demopages/vznrw Symbolic link
View File

@@ -0,0 +1 @@
21212a

View 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
View 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

Binary file not shown.

BIN
doc/Farbdefinition.ods Normal file

Binary file not shown.

11
doc/Nummernkreis 190.txt Normal file
View 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

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 B

36
doc/socat mit dosbox.txt Normal file
View 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
View 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
View 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
View 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>

View File

@@ -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(@"A0@ž‡( @!"#
$%& (@
<EFBFBD>Bildschirmtrix
#!T
#!T1@<40> Testbild: ZeichensHatze *charset#
/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
#!T1@<40>Œ$%& !"#
<EFBFBD> Testbild: ZeichensHatze
<0A>0@<40><><EFBFBD>
(@<0F><>G0-SET:<3A><> <20>!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7E>
@@ -10,7 +9,4 @@
(@<0F><>G2-SET:<3A><>(b <20>!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7E>
(@€G3-SET:‡ž(d <20>!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ž
(@#!TWeiter mit # oder *Seitennummer#
Eingabe ==>
(@€G3-SET:‡ž(d <20>!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ž WA(@#!Tƒ0‡'ZurHuck DRCS'ƒ#‡X` 190910aXA

16
pages/1909111a Normal file
View 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
View 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
View 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>(@

View File

@@ -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(@"A0@ž‡( @!"#
$%& (@
<EFBFBD>Bildschirmtrix
/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
#!T
#!T1@<40> Testbild: Farben *colorset#
#!T1@<40>Œ$%& !"#
<EFBFBD> Testbild: Farben
0@Œž‡(@0@€Farbtabelle #1‡ž
0@<40> “ ” • <20> “ ” •
0@€Farbtabelle #2‡ž
@@ -12,5 +12,4 @@
0@€Farbtabelle #4 (Frei definierbar)‡ž
3@<40> “ ” • <20> “ ” •
0@
ž(@#!TWeiter mit # oder *Seitennummer#
Eingabe ==>
žWA(@#!Tƒ0‡'ZurHuck Farbreinheit rot'ƒ#‡X` 190912aXA

1
pages/190920a Normal file
View File

@@ -0,0 +1 @@
/B=10 1909a=2# 190921a/AA # Q<>

1
pages/190921a Normal file
View File

@@ -0,0 +1 @@
/B=10 1909a=2# 190922a/AA # R<>

1
pages/190922a Normal file
View File

@@ -0,0 +1 @@
/B=10 1909a=2# 190923a/AA # T<>

1
pages/190923a Normal file
View File

@@ -0,0 +1 @@
/B=10 1909a=2# 190924a/AA # W<>

View File

@@ -1 +1 @@
# P≒(dZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ (@
/B=10 1909a=2# 190925a/AA # P‡<50>(@................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

View File

@@ -1 +1 @@
# P≒(@................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
/B=10 1909a=2# 190926a/AA # P≒(dZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ (@

1
pages/190926a Normal file
View 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
View 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
View 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>

View File

@@ -1 +0,0 @@
# T<>

View File

@@ -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><>

View File

@@ -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[\]^_<>(@

View File

@@ -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:
( @!"#$%&'

View File

@@ -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>!"#$%&'

View File

@@ -1 +0,0 @@
# R<>

View File

@@ -1 +0,0 @@
# Q<>

1
pages/test Symbolic link
View File

@@ -0,0 +1 @@
1990a

View File

@@ -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>

View File

@@ -1 +0,0 @@
# W<>

15
presentation/190000a Normal file
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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')
# 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)
while True:

View File

@@ -11,6 +11,7 @@ import cept
import glob
import logging
import config
import rtxMask
def process_byte(in_byte):
""" takes the received byte and processes the command line
@@ -100,10 +101,12 @@ def process_command(cmd):
else:
# check if the next page exists, e.g. 2000a => 2000b
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:
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:
if cmd == "!1" + cept.TER:
@@ -111,8 +114,13 @@ def process_command(cmd):
return
if cmd == "!2" + cept.TER:
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
def goto_last_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():
""" get the btxlogo, make a rtxPage of it and send it to the client """
wpage = rtxPage()
wpage.set_page(bytes(cept.btxlogo, "latin-1"))
send_page(wpage)
glob.curpage = rtxPage()
glob.curpage.set_page(bytes(cept.btxlogo, "latin-1"))
send_page(glob.curpage)
def check_and_send_page(pgnr, errormsg):
""" checks if the page "pgnr" exists

158
rtxMask.py Normal file
View 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)

View File

@@ -12,6 +12,9 @@ import config
import logging
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 """
logging.debug("init_modem")
if config.MODEM_INIT1 != "":

View File

@@ -35,11 +35,9 @@ class rtxPage:
@staticmethod
def exists(page):
""" 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
elif os.path.isfile(config.DEMOPAGES + page):
return True
else:
return False
def get_page(self):
@@ -78,17 +76,19 @@ class rtxPage:
returns False if the page cannot be found
returns True if the page has been loaded
"""
if os.path.isfile(config.PAGES + page):
filename = config.PAGES + page
elif os.path.isfile(config.DEMOPAGES + page):
filename = config.DEMOPAGES + page
for path in config.PAGES:
if os.path.isfile(path + page):
filename = path + page
""" page has been found, now exit the for loop """
break
else:
""" page does not exist anywhere, so exit the function """
return False
with open(filename, "rb") as f:
self.die_seite = f.read()
self.seiten_nummer = page
link_liste = self._get_link_list()
self.link_liste = self._get_link_list()
return True
def _get_link_list(self):
@@ -98,17 +98,14 @@ class rtxPage:
"""
links = []
links = re.findall("\x1f\x3d([^\x1f\x9b\x1b]+)", str(self.die_seite, "latin-1"))
liste = {}
for item in links:
if item[0] != "0":
link = item[1:3].strip()
target = item[3:].strip()
self.link_liste[link] = target
liste[link] = target
logging.info(self.link_liste)
if self.link_liste == {}:
return False
else:
return True
logging.info(liste)
return liste