BASIC mit Zeilennummer - Programmieren

Das ist kaufbare Kindheit™! Trotz des Preises hätte ich auch nochmal überlegt. Aber ich habe aktuell genau 0 Heimcomputer älterer Art. Ich hatte mal einen C64, mal auch nen Plus 4, irgendwann waren mal 2 Apple II bei mir geparkt - da konnte man bisschen was "ansehen", aber die Mühe für Tiefe hätte ich heute wohl nicht mehr.

Da wo das Basic cool wäre würde ich das vielleicht nutzen, aber man kann ja auch heute Basic machen wenn man das wollte.
Aber es ist natürlich was anderes, ich fiel in einen Dornenbusch und spürte dort PEEK 65535!

hier so eher ZX81 Style (kommt vom Apple II - mit Zeilennummern - und so will ich das ja ;-)
Das hier ist aber wirklich mehr Apple II oder auch Apple ][ orientiert. Diese Graphics Befehle sind sehr typisch, oder waren es. Also das nur als OT Info für alle die nur mal ein paar BASIC Zeilen tippen wollen. Bei uns Sinclairisten gab es den 0,0 Punkt auch an anderen Stellen als hier. Wie man sieht. BASIC != BASIC.

Bildschirmfoto 2023-09-28 um 01.28.27.jpg
Auf dem Spectrum und QL hätte ich mir so eine Farbenmenge schon gewünscht..

Bildschirmfoto 2023-09-28 um 01.35.27.jpg
 
Zuletzt bearbeitet:
Ich glaube, der ZX81 hatte nur Großbuchstaben. Wirkt dann noch mal uriger.
Und Ausdruck natürlich auf Metallpapier.
 
Ich habe auf dem Amstrad/Schneider CPC BASIC gelernt. Locomotive Basic, eine ganz angenehme und sehr viel tiefer ins System verzahnte Variante, als z.B. bei Commodore Basic, wo ja quasi alles über PEEK und POKE ging.
Hin und wieder reizt es mich, wieder „ran“ zu gehen, aber der Sprung zu modernen Sprachen scheint mir dann immer so gewaltig, dass ich leider schnell aufgebe.
 
Und was haben wir es geliebt, wenn man irgendwo mehr einschieben musste, als der Zeilennummersprung war...
 
Das alte GFA Basic 1, das ich hatte, konnte das nicht. Irgendwann hatte ich dann 3.5 und bin aus allen Wolken gefallen, was ich die ganze Zeit verpasst hatte...
 
... so weit ich mich erinnern kann, war es mit BASIC auch möglich Code zu schreiben, der sich dynamisch zur Laufzeit/"von sich aus"/algorithmisch ândern kann.
Ob cool oder nicht (im Sinn von Turing Maschine) vermag ich nicht entscheiden.
 
Soweit ich mich erinnere, war es auf den Sinclair-Rechnern gängige Praxis, Maschinencode in einen langen String am Anfang des Programms zu schreiben, der dann aufgerufen werden konnte. Der Programmanfang sah dann immer lustig aus mit den ganzen Sonder- und Graphikzeichen. Das Schreiben des Maschinencodes geschah dynamisch, denn man konnte die Zeichen ja nicht direkt eingeben, sondern die Hexadezimal-Codes waren immer noch ergonomischer und mussten dann aber noch in die entsprechenden Bytes umgewandelt werden.
Insofern haben sich die Programme tatsächlich einmal selbst modifiziert, indem sie initial den Z80 Maschinencode in die Zeichenkette am Programmanfang geschrieben haben.
 
Zuletzt bearbeitet:
Ich glaube, der ZX81 hatte nur Großbuchstaben. Wirkt dann noch mal uriger.
Und Ausdruck natürlich auf Metallpapier.
Das stimmt, Apple II hatte ebenfalls zunächst nur Großbuchstaben
-> Sinclair ZX81 div Games + Emulation für iOS - Computerverständnis lernen
Der Spectrum hatte dann schon beides.
Das Basic hier ist eher an Apple II angelehnt, auch in der Diktion. Kein Border und Paper - sondern 2 Flächen, eine für Text, eine für Grafik.

RENUM ist dein Freund
Dieses Basic, das des QL hatten Renum. Das ist auch kein Problem - ich finde das irgendwie übersichtlicher mit Nummern.

Erinnere mich noch an Apfelman und Mandelbrot *lecker*: C=64.
Sah auch am Spectrum schon ok aus, lange Rechenzeiten - Ehrensache.
 
Ich habe auf dem Amstrad/Schneider CPC BASIC gelernt. Locomotive Basic, eine ganz angenehme und sehr viel tiefer ins System verzahnte Variante, als z.B. bei Commodore Basic, wo ja quasi alles über PEEK und POKE ging.
Hin und wieder reizt es mich, wieder „ran“ zu gehen, aber der Sprung zu modernen Sprachen scheint mir dann immer so gewaltig, dass ich leider schnell aufgebe.
Absolut - ich finde das hammergut, was die da gemacht haben, da war ich aber schon auf dem QL bzw. ST, daher war das dann schon zu spät mit Schneider - die waren ja die Aufkäufer von Sinclair, also die die Sinclair quasi getötet haben - Wie man aber weiss, hat Sir Clive aber aufgegeben und mit dem Verkauf war eigentlich klar, dass da nichts mehr kommt - schade, weil den QL hätte man extrem ausbauen können, es gab schon einen Disk-Schacht, Anbau für weitere Prozessoren und mehr. Die haben sehr weit gedacht damals - nur leider auch viel gespart - ungesockelte ICs und sowas. siehe ZX / QL Thread für mehr ;-) Und CPC Basic hatte sogar Befehle für Sound - Envelope und so - hätt ich mir n Bein rausgefreut, wenn ich das haben können, ich hab gePOKEd mit meinem AY8910 Anbau am ZX.

Soweit ich mich erinnere, war es auf den Sinclair-Rechnern gängige Praxis, Maschinencode in einen langen String am Anfang des Programms zu schreiben, der dann aufgerufen werden konnte. Der Programmanfang sah dann immer lustig aus mit den ganzen Sonder- und Graphikzeichen. Das Schreiben des Maschinencodes geschah dynamisch, denn man konnte die Zeichen ja nicht direkt eingeben, sondern die Hexadezimal-Codes waren immer noch ergonomischer und mussten dann aber noch in die entsprechenden Bytes umgewandelt werden.
Insofern haben sich die Programme tatsächlich einmal selbst modifiziert, indem sie initial den Z80 Maschinencode in die Zeichenkette am Programmanfang geschrieben haben.
Ja, so ist es. Habe ich selbst auch gemacht, du konntest auch "CODE" ab Adresse XY direkt laden und speichern. Das war schon cooler als "DATA" Listen. Ich hab eine Mischung daraus gemacht, je nach dem wie lang das Assemblerstückchen ist. Meist war es ja nur um was auszulesen oder auszugeben. Damit es schnell genug ist.

Selbstmodifizierender Code in Basic? Nee, das war Maschinensprache. Macht auch nur auf manchen Plattformen wie dem C64 Sinn.

Andere interpretierte Hochsprachen erlauben dies auch noch, aber das C64 Basic lies dies nicht zu IIRC.

EDIT: Es sei denn, man änderte die Basic-Tokens per Poke im Programmspeicher, aber das hat glaube ich niemand gemacht. In Maschinensprache war es jedoch gängige Praxis.
Doooch - das ging, du konntest mit zB den ZXen in den RAM Poken, einfach da wo das Kommando steht, hast du dann mit einem einzigen Poke den Befehl geändert - das ist natürlich etwas schräg, aber es hat funktioniert. Du konntest auch nach diesem Befehl suchen und dann dort ersetzen. Das war so eine Art "selbst neu schreibender Code" als Rekursiv-Idee. Das wirkte faszinierend, war aber eigentlich nur ein Taschenspielertrick.

Aber als 12-13jährigen hat mich das beeindruckt.
 
Und CPC Basic hatte sogar Befehle für Sound - Envelope und so - hätt ich mir n Bein rausgefreut, wenn ich das haben können, ich hab gePOKEd mit meinem AY8910 Anbau am ZX.
Ja, ich erinnere mich auch, mal eine Art Tracker für den CPC angefangen zu haben. Er klang aber einfach nicht so geil, wie der SID-Chip im 64er (in meiner Erinnerung ist alles sehr rechteckig und hell), hatte auch keine Filter. Von daher war der Gewinn leider eher klein und MIDI ging ja auch nicht, nicht mal wie beim 64 über Umwege.
Mein Tracker blieb unvollendet.
 
Das kann er leider auch nicht ,weil er keine PWM hat und auch sonst weniger "Synthesekram" und natürlich kein Filter - sondern nur so einfachste Hüllkurven - Für Games ist das ok, für DUFF - BFFFFF Beats geht es auch - aber eben ein bisschen kleiner - so wie Nanoloop für Nintendo. Denke man kann dann nur mit Tricks arbeiten - beim Atari gab es noch so Verzerr-Modi - aber Ringmod und PWM kriegt man halt mit dem AY nicht mehr hin.
Mehr dazu Atari 800, 800XL - Sound -Wie arbeitete man in 8-Bit Zeit/en mit Sound? 1979-1986 hier.

Die Idee ist trotzdem gut.
 
Das kann er leider auch nicht ,weil er keine PWM hat und auch sonst weniger "Synthesekram" und natürlich kein Filter - sondern nur so einfachste Hüllkurven - Für Games ist das ok, für DUFF - BFFFFF Beats geht es auch - aber eben ein bisschen kleiner - so wie Nanoloop für Nintendo. Denke man kann dann nur mit Tricks arbeiten - beim Atari gab es noch so Verzerr-Modi - aber Ringmod und PWM kriegt man halt mit dem AY nicht mehr hin.
Mehr dazu Atari 800, 800XL - Sound -Wie arbeitete man in 8-Bit Zeit/en mit Sound? 1979-1986 hier.

Die Idee ist trotzdem gut.
Der klingt halt wirklich wie ein kastrierter SID. Nanoloop gibs mittlerweile mit nem analogen Filter.
 
Ringmod bzw. AM geht schon, eher ungezielt mit den Envelope loops gezielter durch wenn man einen Interrupt Prozessor hat der die CPU unterbrechen kann um die entsprechenden Register des AY zu beschreiben geht noch mehr. Hatte mich damals mit den Programmierern von Musicmon auf 'ner ATARI Messe unterhalten...


Slub by Stu (Atari ST MusicMon 2.5e music) 1080p50


Cerror - Datass (Atari ST MusicMon 2.5 music)
 
Da mein Vater Ingenieur war, der sich mit Digitaltechnik tatsächlich auskannte, gab es bei uns keinen C64, sondern einen IBM-kompatiblen PC aus irgendeiner Hinterhof-Garage, die den Zusammenbau bewerkstelligt hatte. Ich habe mit 13 Jahren - im Jahr 1985 - ein Programm für das Spiel "Mastermind" in Basic programmiert und war dann sehr stolz, es ein oder zwei Jahre später in "Turbo Pascal" mit etwa der Hälfte der notwendigen Befehlszeilen neu programmieren zu können.

Heute könnte ich nichts mehr davon reproduzieren - meine letzte Berührung mit dem Themengebiet Informatik erfolgte mit 16 Jahren nach Abschluss der zehnten Klasse.
 
Hatte mich damals mit den Programmierern von Musicmon auf 'ner ATARI Messe unterhalten
au ja, den hab ich damals auch benutzt. Und Soundeffekte mit AM habe ich damals auch mit Omikron-Basic hinbekommen (mit nicht sehr präzisem Timing, aber für paar FX zur Untermalung eines Spieles ausreichend).
 
Da mein Vater Ingenieur war, der sich mit Digitaltechnik tatsächlich auskannte, gab es bei uns keinen C64, sondern einen IBM-kompatiblen PC aus irgendeiner Hinterhof-Garage, die den Zusammenbau bewerkstelligt hatte. Ich habe mit 13 Jahren - im Jahr 1985 - ein Programm für das Spiel "Mastermind" in Basic programmiert und war dann sehr stolz, es ein oder zwei Jahre später in "Turbo Pascal" mit etwa der Hälfte der notwendigen Befehlszeilen neu programmieren zu können.

Heute könnte ich nichts mehr davon reproduzieren - meine letzte Berührung mit dem Themengebiet Informatik erfolgte mit 16 Jahren nach Abschluss der zehnten Klasse.

Puh, Mastermind ist aber schon Komplex. Ich fange immer an mit "Ich habe mir eine Zahl zwischen...". Aber selbst ein Mastermind würde die Kinder nicht begeistern. Das ist das fatale dieser Zeit, die Basics (hey ich bin on Topic) sind so weit weg von dem was die Kinder täglich auf dem Bildschirm sehen. Mit "Kaiser" oder ähnlichen Games konnte man früher noch mit relativ wenig Aufwand richtig berühmt werden. Heute musst du schon Unity oder den Unreal Engine drauf haben um halbwegs cool zu sein.
 
Aber die Formel für Apfelmännchen hab ich nie verstanden.
Habe ich mich auch nie mit beschäftigt - war immer so'n Thema für Physik- uns Mathelehrer damals - insofern: langweilig - und verstanden habe ich auch nix davon - weil ich mich nie damit beschäftigt hatte. Aus Gründen.

EDIT:
War eher was für die Streber - genauso wie in Pascal (statt Basic oder Assembler) zu programmieren.

EDIT2:
Obwohl ich irgendwann Pascal äusserst zu schätzen gelernt habe.

EDIT3:
Apfelmännchen ist Squarehead-Krams aus den 80ern.
Wer's braucht ...

EDIT4:
Bei Mandelbrot geht's 'mal wieder um Rekursion.
Na gut - und wichtig meinerzhagen.
 
Zuletzt bearbeitet:
Puh, Mastermind ist aber schon Komplex. Ich fange immer an mit "Ich habe mir eine Zahl zwischen...". Aber selbst ein Mastermind würde die Kinder nicht begeistern. Das ist das fatale dieser Zeit, die Basics (hey ich bin on Topic) sind so weit weg von dem was die Kinder täglich auf dem Bildschirm sehen. Mit "Kaiser" oder ähnlichen Games konnte man früher noch mit relativ wenig Aufwand richtig berühmt werden. Heute musst du schon Unity oder den Unreal Engine drauf haben um halbwegs cool zu sein.
Schau dir die "Handy" Spiele an, gute Ideen müssen nicht aufwendig sein um Erfolg zu haben und es gibt wie bei den Synths auch sowas wie 'ne Retro Welle mit 2D Kram, Neuauflagen div. erfolgreicher Arcade Spiele.
 
Wenn schon interpretierte Sprachen, dann mindestens Python, noch besser etwas anderes, denn da ist inzwischen der Wildwuchs auch zu groß.

Gibt es schon einen Python to Basic Übersetzer? :cheer:
 
Moin!

Ehrlich gesagt war ich froh, dass ich die Zeilennummern los geworden bin. Auf dem Osborne 1 unter CBASIC war ich die dann los. War halt umständlich, weil kompiliert.

Die nächste Offenbarung war für mich dann Turbo Pscal, immer noch auf Osborne 1,CP/M und 64kB RAM. Solange die Programme klein genug waren, so dass man 'einfach so' kimpliriern und linken konnte ohne den Disc Jockey spielen zu müssen.

Später dann auf einem IBM PC-kompatiblen. Da ich mich für numerische Mathemaitk interessierte, war der der zusätzliche arithmetische Koprozessor (8087) der Burner.

Pascal war mir aber zu restriktiv, so richtig Spaß hatte erst damals mit C gegeben,Turbo C auf meinem guten alten Atari, mit schwindelerregenden 2 MB RAM.

Und hier noch was aus der Bateilung 'schnell, schmutzig, populär':


Grüße
Omega Minus
 


News

Zurück
Oben