Ich hätte da mal eine dumme Frage, wie würde man die Basic Befehle Read
und Data in C schreiben? Ich hatte am Wochenende ein Gespräch über alte
Homecomputer und Basic, und da bin ich darüber gestolpert. Da gab es
doch auch so einen Restore Befehl? Leider habe ich auf meinem Computer
kein Basic 4.5 sonst würde ich da die Hilfe Funktion bemühen..
Äh Zusatzfrage: Wie könnte ich das damals von mir sehr geschätzte und
geliebte Qbasic 4.5 auf einem Linux Mint Laptop zum laufen bekommen?
Sprudelstrudel schrieb:> Ich hätte da mal eine dumme Frage
stimmt, zumal kaum einer weiss wie READ & DATA auf deinem Dragon
umgesetzt ist.
In C wäre DATA nur ein uint8_t array_name_nach_wunsch[] = { 1,2,3,...};
supertape für dragon32 könnte was sein, habe ich aber nicht gefunden.
https://en.wikipedia.org/wiki/Dragon_32/64
Chris schrieb:> #define DATA char datas[]=
würde ich bei Bytes nicht machen, char ist zu oft signed und endet bei
127, wählt man unsigned char stolpern mache Compiler oder Routinen.
Ein Byte ist nun mal kein char sondern ein uint8_t im Wertebreich von
0-255.
Will man wirklich nur Bytes in ein Array lesen sollte man sie auch so
behandeln und nicht als Char. Manche C-Compiler kennen sogar Byte.
Sprudelstrudel schrieb:> Leider habe ich auf meinem Computer> kein Basic 4.5 sonst würde ich da die Hilfe Funktion bemühen..
Das moderne Equivalent ist die google Suche...
Passende Suchbegriffe finden read und data für den C64. Scheit alles
speizfisch für C64 Basic zu sein.
Übrigen sollte sich auch in Linux Mint ein C64 Emulator installieren
lassen. Dann muss man allerdings auch noch die passende Software der
Brotkiste beschaffen.
Joachim B. schrieb:> Chris schrieb:>> #define DATA char datas[]=>> würde ich bei Bytes nicht machen, char ist zu oft signed und endet bei> 127, wählt man unsigned char stolpern mache Compiler oder Routinen.> Ein Byte ist nun mal kein char sondern ein uint8_t im Wertebreich von> 0-255.>> Will man wirklich nur Bytes in ein Array lesen sollte man sie auch so> behandeln und nicht als Char. Manche C-Compiler kennen sogar Byte.
Ich würde int machen, eventuall sogar als long long, da aber vorher
schon char empfohlen wurde, habe ich es als char reingeschrieben.
chris schrieb:> Ich würde int machen, eventuall sogar als long long, da aber vorher> schon char empfohlen wurde, habe ich es als char reingeschrieben.
Signed 16-Bit int kommt dem historischen Vorbild wahrscheinlich am
nächsten.
Joachim B. schrieb:> Michael Gugelhupf schrieb:>> Signed 16-Bit int kommt dem historischen Vorbild wahrscheinlich am>> nächsten.>> für einen: "Der Motorola 6809 ist ein 8-Bit-Mikroprozessor"?
Ja und? Dürfen da denn keine (BASIC-)Int stehen?
Hab gerade mal in einem uralten C64-Basic Programm nachgeschaut. Die
Werte waren größer als 127 und auch kleiner als -127.
Dirk B. schrieb:> Ja und? Dürfen da denn keine (BASIC-)Int stehen?
dürfen schon, müssen?
Data Zeilen unter Basic sah ich nur welche die mit Poke geschrieben
wurden und waren immer im Wertebreich 0-255 für Maschinenteile.
Sonst sah man Data selten, ich jedenfalls nie auf dem CBM, apple2+,
PC1500.
Joachim B. schrieb:> Dirk B. schrieb:>> Ja und? Dürfen da denn keine (BASIC-)Int stehen?>> dürfen schon, müssen?>> Data Zeilen unter Basic sah ich nur welche die mit Poke geschrieben> wurden und waren immer im Wertebreich 0-255 für Maschinenteile.> Sonst sah man Data selten, ich jedenfalls nie auf dem CBM, apple2+,> PC1500.
Ich verrate dir mal was. Bei anständigen BASIC-Interpretern durfte da
gemischt jeder fundamentale Datentyp stehen den der Interpreter kannte,
sogar Strings und Floats. Kannst du in C mit einer Union hindengeln.
Viel Spaß.
Jetzt rate mal, was der fundamentale Integer-Datentyp auf 8-Bit
BASIC-Computern normalerweise war? Rischtischhhhh, signed 16-Bit int.
Michael Gugelhupf schrieb:> Jetzt rate mal, was der fundamentale Integer-Datentyp auf 8-Bit> BASIC-Computern normalerweise war? Rischtischhhhh, signed 16-Bit int.
das mag ja alles sein, trotzdem ist mir bei den genannten Compis nie ein
Data Wert über 255 begegnet oder gar -127.
Halten wir fest du hast Recht weil du es brauchst.
zum Topic
Sprudelstrudel schrieb:> Äh Zusatzfrage: Wie könnte ich das damals von mir sehr geschätzte und> geliebte Qbasic 4.5 auf einem Linux Mint Laptop zum laufen bekommen?https://forums.linuxmint.com/viewtopic.php?t=300602
e.i., einfach installieren :)
ich warte auf die nächste Salamischeibe, vielleicht für ARM statt x86?
Joachim B. schrieb:> das mag ja alles sein, trotzdem ist mir bei den genannten Compis nie ein> Data Wert über 255 begegnet oder gar -127.
Ja, weil da halt dann Maschinencode definiert wurde.
Joachim B. schrieb:> für einen: "Der Motorola 6809 ist ein 8-Bit-Mikroprozessor"?
Der allerdings intern mit 16 bit rechnen konnte.
Joachim B. schrieb:> das mag ja alles sein, trotzdem ist mir bei den genannten Compis nie ein> Data Wert über 255 begegnet oder gar -127.
Was daran lag, das peek und poke Bytes gelesen bzw. geschrieben haben,
und ein Byte war auch damals schon 8 Bit.
Oliver