Code-Golf

Code-Stücke können hier veröffentlicht werden.
Benutzeravatar
__blackjack__
User
Beiträge: 13535
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Dennis89: Cool. 👍

Zum BASIC-Programm lesen lernen und auch zur Bedienung des (virtuellen) C64 lohnt sich vielleicht ein Blick in das Handbuch des Rechners. Im Grunde ist das ein BASIC-Kurs der nebenbei ein bisschen den Rechner erklärt. Die C64-Wiki-Seite zum Handbuch hat eine Übersicht was da so drin steht, und am Ende auch Links wo man das als PDF im Netz herunterladen kann: https://www.c64-wiki.de/wiki/Bedienungs ... mmodore_64

Was Dir natürlich zum Programm fehlt sind die (leider ebenfalls extrem virtuellen) Notizen, die man sich bei Programmen wo man nur ein bis zwei Zeichen für Variablennamen hat, im Grunde immer nebenbei auf Papier gemacht hat. Damit man in einem halben Jahr selbst noch weiss was das Programm macht ohne sich das wieder erarbeiten zu müssen. 🤓

Code: Alles auswählen

- (void)countSheep {
    unsigned int sheep = 0;
    while ( ! [self isAsleep]) { ++sheep; }
}
Benutzeravatar
sparrow
User
Beiträge: 4361
Registriert: Freitag 17. April 2009, 10:28

Weil der Fokus hier gerade sehr auf BASIC fällt, hier ein kurzer Spotlight auf die Zeit nach den Maschinen der 90er: Irgendwann in den 90ern wurde Microsofts "Visual Basic" in der RAD-Umgebung sehr populär und gefühlt zieht sich das bis heute auch in Excel-Makros durch.

Und da gibt es auch unter Linux etwas, das sich an dem Konzept orientiert und auf BASIC setzt: Gambas (Wikipedia).
nezzcarth
User
Beiträge: 1686
Registriert: Samstag 16. April 2011, 12:47

Seit Ende der 80er hat die Firma VTech einen (sehr rudimentären) BASIC Interpreter in seine Lerncomputer eingebaut, einschließlich Tutorial im Handbuch, was neben C64 und Taachenrechnern vielleicht weniger bekanntist. Da ist es mir zum ersten Mal begegnet. QBasic unter Dos war dann eine echte Offenbarung im Vergleich :) (Heute weiß ich allerdings nicht mehr, wie ich das ertragen habe ;) )
Benutzeravatar
sparrow
User
Beiträge: 4361
Registriert: Freitag 17. April 2009, 10:28

@nezzcart: Der hier? ♥️

Bild
Das Image wird irgendwann gehen, daher: Es zeigt einen VTech Genius Leader 2000.
Benutzeravatar
__blackjack__
User
Beiträge: 13535
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@nezzcarth: Die Anzeigegrösse scheint mir eine Herausforderung zu sein. Zwei Zeilen á 20 Zeichen? Hat man da je mehr als eine Zeile Quelltext gleichzeitig gesehen? Ich habe seit dem ich letztes Jahr mal mit einem VIC-20 angefangen habe Programme zu schreiben, den deutlichen Einfluss von der 22×23 Anzeige dort gemerkt. Ist ja das gleiche BASIC wie im C64, aber meine Programme hatten auf dem VIC-20 deutlich kürzere Zeilen, weil das da einfach schneller unübersichtlich wird.

Für die VTech Genius Rechner gibt es ein SDK, dann kann man kompiliertes C verwenden statt interpretiertes BASIC: https://github.com/hotkeymuc/vgldk und anscheinend auch ein experimentelles CP/M. Ist ja ein Z80 Prozessor drin.

QBasic hat man ertragen weil man die ganzen schlechteren Alternativen noch frisch in Erinnerung hatte. Und irgendwie halt trotz Pascal, weil es vertrauter war. So war es jedenfalls bei mir. Und Visual Basic unter Windows, weil Windowsprogramme in C ziemlich gruselig waren und ich mir Delphi nicht leisten konnte.

Code: Alles auswählen

- (void)countSheep {
    unsigned int sheep = 0;
    while ( ! [self isAsleep]) { ++sheep; }
}
nezzcarth
User
Beiträge: 1686
Registriert: Samstag 16. April 2011, 12:47

@sparrow & __blackjack__: Fast, das Gerät war ein "Genius Leader 4-<sowieso>" mit immerhin schon vierzeiligem Display. Besonders gestört hat es mich, soweit ich mich entsinne, nicht; ich kannte es ja nicht anders. Was mich schon mehr gestört hat, war, wenn ich in der lokalen Bücherei mal wieder Bücher mit Code-Listings gefunden habe, die Befehle enthielten, die "meinem" BASIC fremd waren. Zum Beispiel "PEEK" und "POKE". Das nicht im Handbuch dokumentierte CLS funktionierte aber, immerhin. Irgendwann viel später habe ich dann mal alte Anzeigen (oder so) für "Simons' BASIC" für den C64 gefunden, die unter anderem mit der Anzahl der unterstützten Befehle geworben haben. Das fand ich lustig, aber damals hätte mich das in meiner Verzweiflung vmtl. sehr angesprochen :) Soweit ich herausfinden konnte, ähnelt das BASIC in diesen Geräten wohl MBASIC/BASIC-80 von Microsoft.
Benutzeravatar
__blackjack__
User
Beiträge: 13535
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@nezzcarth: „4000 Quattro“ dann wahrscheinlich. Der Typ der das SDK maintained hat den wohl auch. Es gibt Fotos auf seiner Hackaday-Seite: V-Tech Genius Leader / PreComputer Hacking.

Die Geräte sind bei Kleinanzeigen.de anscheinend für 20—30 € zu haben. Falls Du Deinen nicht mehr hast und mit Retro-Hardware spielen möchtest. 😎

Microsoft-BASIC klingt plausibel. VTech hatte einen Apple II-Clone (VTech Laser 128) und dafür haben sie das BASIC von Microsoft lizensiert, so das Apple es nicht geschafft hat die aus dem Markt zu klagen. 😈 Die Geschäftsbeziehung zu Microsoft war also schon vorhanden.

Wären PEEK und POKE denn interessant gewesen? Programme die das verwenden sind ja nicht wirklich portabel. Beim Z80 braucht man in der Regel auch noch so etwas wie IN und OUT weil es bei dem Prozessor einen eigenen I/O-Adressraum gibt. PEEK & POKE sind Anzeichen dafür, dass die Leute, die das ins Programm geschrieben haben, selber gerne mehr/bessere BASIC-Befehle gehabt hätten. 😉

Code: Alles auswählen

- (void)countSheep {
    unsigned int sheep = 0;
    while ( ! [self isAsleep]) { ++sheep; }
}
Benutzeravatar
Dennis89
User
Beiträge: 1376
Registriert: Freitag 11. Dezember 2020, 15:13

Danke, habe mir die Links mal abgespeichert. Bin gerade noch an „Crafting Interpreters“ aus dem anderenThread 🤓


Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
nezzcarth
User
Beiträge: 1686
Registriert: Samstag 16. April 2011, 12:47

@__blackjack__: Du hast natürlich recht bzgl. PEEK und POKE. Allerdings wusste ich damals ja auch nicht so recht, was die eigentlich machen. Das waren für mich halt "mysteriöse" Befehle, die manchmal in Code Listings vorkamen, die ich irgendwo gefunden habe, und die halt dafür sorgten, dass fremder Code auf meinem Gerät nicht lief.
Antworten