Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Zeichentabelle vom BC5120, BASIC-Problem » Themenansicht

Autor Thread - Seiten: -1-
000
24.02.2018, 02:32 Uhr
steph



Hallo zusammen,

ich bin gerade dabei ein altes Basic-Listing in C zu reimplementieren, kann aber partout nichts finden was z.B. bei folgender Zeile ausgegeben werden sollte:

40 PRINT CHR$(12):PRINT CHR$(131)

CHR$(12) ist der Form-Feed, den gibt es auch immernoch, aber zu CHR$(131) finde ich keine passende Zeichentabelle: mit "D03" kann ich wenig anfangen. Es gibt auch noch weitere Aufrufe von CHR$ mit Werten bis zu 144.

Das Programm lief mal auf einem BC5120, viel mehr kann ich aber nicht mehr in Erfahrung bringen.

Weiß jemand etwas mit den Codes anzufangen?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
24.02.2018, 09:59 Uhr
Bert



BIC (A5105) oder A5120?
Den BIC kann man im jkcemu emulieren. Da ist CHR$(131) ein a mit einem Bogen drüber.
Für den A5120 finde ich den Zeichensatz auf die Schnelle nicht.

Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
24.02.2018, 10:24 Uhr
holm

Avatar von holm

Das ist ein CTRL-C mit gesetztem Cursor Bit.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
24.02.2018, 11:55 Uhr
steph



Ich weiß nur das BC5120 vorn dran stand. Ein a mit Bogen drüber ergibt in dem Programmkontext keinen Sinn. Aber "Ctrl-C mit gesetztem Cursor Bit" klingt interessant: Was macht das?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
24.02.2018, 12:46 Uhr
holm

Avatar von holm

Es gibt verschiedene Bildschirmkarten und auch verschiedene Möglichkeiten den Cursor darzustellen, das kann Unterstrich, Blinken oder Inversdarstellung sein, je nach dem was gewickelt ist.

Ich habe den Zeichensatz jetzt nicht im Kopf, glaube aber mich erinnern zu können das bei der gewöhnlichen 2K BWS Karte die Zeichen von 0x00 bis 0x20 überhaupt nicht belegt sind, also wie ein Leerzeichen aussehen. Demzufolge steht dort evtl. ein Leerzeichen mit Unterstrich, ein weißes Klötzchen oder ein blinkendes Klötzchen...

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
28.02.2018, 14:42 Uhr
steph



Um den Bereich 0x00-0x20 ging es mir ja nicht (0x12 als FormFeed war schon bekannt), sondern eher um 0d131 (=0x83) und darüberliegende. Rollo hat mir dann den entscheidenden Link zum SCP-Systemhandbuch gegeben, wodurch die Lösung dann klar war:

CHR$(131) schaltet einfach den Cursor ab. Die darüberliegenden entpuppten sich als parametrisierte Cursor-Positionierung:


Quellcode:
CHR$(27)+CHR$(Y+127)+CHR$(X+127)



Dazu der Auszug aus dem Handbuch:

"Einleiten der direkten Kursorpos. ESC , Zeile+80H , Spalte+80H"

Daher an der Stelle vielen Dank an die richtigen Anschubser!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek