Tonband-Spielzeit-Rechner in C64-Basic
#1
Hallo zusammen,

da ich sowohl gerne mit Tonband als auch mit alten Computern zu tun habe, dachte ich mir, ich kombiniere das mal und bastle einen Spielzeit-Rechner für den C64 in Basic. Viel Spaß damit:

Code:
5 print : print
10 print "wie viel meter band"
20 input lem
30 print
40 print "  cm/s", chr$(199); " min"
50 print "",chr$(199)
100 rem meter in cm umrechnen
110 lec=lem*100
120 spe=2.48  : gosub 1000
130 spe=4.75  : gosub 1000
140 spe=9.53  : gosub 1000
150 spe=19.05 : gosub 1000
160 spe=38.01 : gosub 1000
170 spe=76.05 : gosub 1000
180 end
1000 rem sekunden spielzeit
1010 pls=lec/spe
1020 rem minuten draus machen
1030 plm=int(pls/60)
1040 gosub 1100
1050 return
1100 rem ergebnisausgabe
1110 tmp=spe : gosub 1200
1120 print spe, chr$(199);
1130 tmp=plm : gosub 1200
1140 print plm
1150 if spe < 76.05 then print "", chr$(199)
1200 rem einruecker rechtsbuendig
1210 if tmp < 100 then print " ";
1220 if tmp < 10 then print " ";
1230 return

   


Schöne Grüße
Alexander
Schnürsenkelband: Teac A3300SX-2T, Revox A77 MK3, Sony TC-366, Grundig TK 3200, Grundig TK 8, Simonetta TB 491
Kassette: Onkyo TA-2870, RFT SK 3000 Hifi
--
Lieblings-Bandsorten / Empfehlungen in zufälliger Reihenfolge:
Standardband: Orwo 104, Orwo 106, Orwo 103, Orwo 100, BASF/Agfa PER-528
Langspielband: Orwo 113, BASF/Agfa PER-368, LPR-35, BASF PES-40, BASF LGS-35, Agfa PE-31/PE-36/PE-39
Doppelspielband: Orwo 120, BASF LGS-26, Agfa PE-41/PE-46/PE-49, Grundig GD15
Dreifachspielband: Orwo 130
Zitieren
#2
Zum Glück haben sich Programmiersprachen (selbst BASIC) seitdem deutlich weiterentwickelt. Zeilennummern und GOSUB statt Funktionen waren ganz schrecklich. Smile
Zitieren
#3
Ach ich finde, in der Form wie
150 spe=19.05 : gosub 1000
gehts dann wieder, so kann man sich Funktionsaufrufe samt Parameter nachbilden.

Unübersichtlich wirds natürlich trotzdem, aber genau das ist ja der Reiz! Big Grin

Schöne Grüße
Alexander
Schnürsenkelband: Teac A3300SX-2T, Revox A77 MK3, Sony TC-366, Grundig TK 3200, Grundig TK 8, Simonetta TB 491
Kassette: Onkyo TA-2870, RFT SK 3000 Hifi
--
Lieblings-Bandsorten / Empfehlungen in zufälliger Reihenfolge:
Standardband: Orwo 104, Orwo 106, Orwo 103, Orwo 100, BASF/Agfa PER-528
Langspielband: Orwo 113, BASF/Agfa PER-368, LPR-35, BASF PES-40, BASF LGS-35, Agfa PE-31/PE-36/PE-39
Doppelspielband: Orwo 120, BASF LGS-26, Agfa PE-41/PE-46/PE-49, Grundig GD15
Dreifachspielband: Orwo 130
Zitieren
#4
(29.09.2022, 09:58)eudatux23 schrieb: Ach ich finde, in der Form wie
150 spe=19.05 : gosub 1000
gehts dann wieder, so kann man sich Funktionsaufrufe samt Parameter nachbilden.

Mach' das mal, wenn Deine "Funktion" fünf oder sechs Parameter hat. Viel Spaß, wenn Du den Quelltext ein paar Jahre später noch mal verstehen willst. Smile

Aber gut, ist halt 40 Jahre alte Computertechnik.
Zitieren
#5
Hachja...
Da fällt mir mein Abrechnungsprogramm für den Schneider CPC ein!

GOSUB-Wüste at its best!
So 20 hintereinander.
Irgendwo muß ich noch nen Endlosblatt-Ausdruck davon haben....

Gruß
Oliver
Mist! Angry Man sollte nix vor dem zweiten Kaffee posten. Man blamiert sich nur.. Confused

Das Avatar-Maschinchen war mein erstes Bandlaufwerk -  Philips N2213
Zitieren
#6
Mir fällt mein CNC Programm für den C128 ein.
Bohren und fräsen, Alu und Platinen.
Die Daten kamen vom PC mit 110Bd. Die hab ich dann umgerechnet.
Das steht noch im Keller.
Besonders gerne repariere ich meine Philips, Braun, Akai und TEAC Geräte Big Grin
Keine Hilfe bei fehlender Rückmeldung
Zitieren
#7
Cool, Alex! Ich tippe das Listing mal ab wie in alten Zeiten. Leider habe ich keinen C64, sondern nur einen Clone im C64-Gewand…
Liebe Grüße
Thomas
Zitieren
#8
Oh, C64 Basic Smile

Ein Hinweis: Wenn ich mich richtig erinnere, kann man zwar Variablennamen so lang wählen, wie man will - aber nur die beiden ersten Zeichen werden zur Unterscheidung herangezogen. "BLA" und "BLUB" sind also die selbe Variable für den Interpreter, er sieht nur "BL".

Das geht hier in Zeile 110 also nicht schief - "lec=lem*100" überschreibt den Wert von "lec", beides ist die gleiche Variable. Wenn "lec" nicht mehr mit dem ursprünglichen Wert später verwendet wird, passiert nichts.... Schön zu debuggen Wink

Viele Grüße
Andreas
Zitieren
#9
Bei Basic fällt mir Peek und Poke ein.
Für den C64 fällt mir "Little Computer People" ein.
Meine Computer Muttersprache ist PL/I auf Big Blue.

Waren schöne Zeiten, möchte diese nicht missen.

VG
Zitieren
#10
(29.09.2022, 13:22)andreas42 schrieb: Ein Hinweis: Wenn ich mich richtig erinnere, kann man zwar Variablennamen so lang wählen, wie man will - aber nur die beiden ersten Zeichen werden zur Unterscheidung herangezogen. "BLA" und "BLUB" sind also die selbe Variable für den Interpreter, er sieht nur "BL".

Tatsache:

Zitat:Variablennamen können nahezu beliebig lang gewählt werden, jedoch sind nur die ersten beiden Zeichen für den BASIC-Interpreter signifikant.

https://www.c64-wiki.de/wiki/Variable#Variablennamen

Das war mir auch nicht bewusst, selbst damals wahrscheinlich nicht. Wobei sprechende Variablennamen mit mehr als zwei Zeichen Länge in den 1980ern auch noch nicht so richtig in Mode waren, zumindest nicht bei mir. In meinen ersten BASIC-Programmen fingen Integer bei I (bzw. kurz später, als mir bewusst wurde, daß I gar kein Integer ist, sondern ein Float, I%) und Strings A$ an. Alle weiteren gingen dann alphanumerisch weiter. Smile

(Einige meiner Kollegen machen das immer noch so. Bei denen soll es im Urlaub regnen.)
Zitieren
#11
Huch, ich dachte, dass die ersten drei(!!) relevant seien für Basic, daher habe ich in meinem Beispielprogramm auch jeweils dreistellige genommen. Danke für den Hinweis!


Schöne Grüße
Alexander
Schnürsenkelband: Teac A3300SX-2T, Revox A77 MK3, Sony TC-366, Grundig TK 3200, Grundig TK 8, Simonetta TB 491
Kassette: Onkyo TA-2870, RFT SK 3000 Hifi
--
Lieblings-Bandsorten / Empfehlungen in zufälliger Reihenfolge:
Standardband: Orwo 104, Orwo 106, Orwo 103, Orwo 100, BASF/Agfa PER-528
Langspielband: Orwo 113, BASF/Agfa PER-368, LPR-35, BASF PES-40, BASF LGS-35, Agfa PE-31/PE-36/PE-39
Doppelspielband: Orwo 120, BASF LGS-26, Agfa PE-41/PE-46/PE-49, Grundig GD15
Dreifachspielband: Orwo 130
Zitieren
#12
Man muß hier alte BASIC-Interpreter und moderne BASIC-Versionen/Compiler unterscheiden.

MfG Kai
Zitieren
#13
(29.09.2022, 13:22)Darwin schrieb: Cool, Alex! Ich tippe das Listing mal ab wie in alten Zeiten. Leider habe ich keinen C64, sondern nur einen Clone im C64-Gewand…

Cool, freut mich! was für ein Clone ist das denn?

Schöne Grüße
Alexander
Schnürsenkelband: Teac A3300SX-2T, Revox A77 MK3, Sony TC-366, Grundig TK 3200, Grundig TK 8, Simonetta TB 491
Kassette: Onkyo TA-2870, RFT SK 3000 Hifi
--
Lieblings-Bandsorten / Empfehlungen in zufälliger Reihenfolge:
Standardband: Orwo 104, Orwo 106, Orwo 103, Orwo 100, BASF/Agfa PER-528
Langspielband: Orwo 113, BASF/Agfa PER-368, LPR-35, BASF PES-40, BASF LGS-35, Agfa PE-31/PE-36/PE-39
Doppelspielband: Orwo 120, BASF LGS-26, Agfa PE-41/PE-46/PE-49, Grundig GD15
Dreifachspielband: Orwo 130
Zitieren
#14
(29.09.2022, 18:25)eudatux23 schrieb: Cool, freut mich! was für ein Clone ist das denn?

Darf ich mal raten? Ein "TheC64"!
Zitieren
#15
Hallo Thomas,

(29.09.2022, 13:22)Darwin schrieb: Leider habe ich keinen C64, sondern nur einen Clone im C64-Gewand…

dem könnte man abhelfen... ich habe mehrere C=128 aufgehoben, für die ich keine Zeit und Verwendung mehr habe. Für die seltenen Anlässe nehme ich inzwischen einen Emulator. Wenn Du also lieber echte Hardware haben willst, gebe ich gerne was ab Smile

Viele Grüße
Andreas
Zitieren
#16
Ach ja, der gute, alte C-128. Das war schon ein spannendes Teil. Drei Betriebssysteme, zwei Prozessoren verschiedener Architekturen, zwei verschiedene Videostandards... für damalige Heimcomputer-Verhältnisse eine echte Kuriosität. Smile Schade irgendwie, daß er sich nicht wirklich durchgesetzt hat, der 128er-Modus hätte m.E. eine Menge Potential gehabt.

https://tonbandforum.de/showthread.php?t...9#pid35769
Zitieren
#17
Hallo zusammen,

Timo hat's erraten, es ist der "The C64"  Big Grin . 

   

Neben 64 vorinstallierten Spielen (u.a. Boulder Dash) kann man das Computermodell wählen:

   

Für Alex' Listing braucht's natürlich erst einmal den Legacy-Mode:

   

Und das Listing, das ich mir mal ausgedruckt habe:

   

So ganz kompatibel scheint mein C64 nicht mit Alex' zu sein, warum auch immer. Bei der Formatierung der Ausgabe haperte es gewaltig. Am Ende sah es so bei mir aus:

   

Das Programm habe ich entsprechend ändern müssen - nur Kleinigkeiten... schöner ist es dadurch nicht geworden (es lebe der Spaghetti-Code):

   

Es ist jetzt auf der Kiste gespeichert (im internen Flash-Speicher - man kann auch externe USB-Flash-Speicher anschließen, aber ich hatte gerade keinen zur Hand). 

Wie man sieht, kann man die Kiste bequem per HDMI an den Computermonitor anschließen (oder zum Zocken an den heimischen Flachbild-Fernseher). Für Letzteres fehlt mir leider die Zeit, für ersteres der Platz, so dass ich die Kiste nur ganz selten heraushole. Ich habe sie übrigens, als der Drogerist mit dem M im Namen seine Pforten in unserer beschaulichen Stadt schloss, mit 30 % Nachlass erstanden - sie hat mich somit inklusive Competition Pro, der ja im Lieferumfang ist, ungefähr 60 Euro gekostet. Dafür hat man auch eine "echte" C64-Tastatur (die mich in den Wahnsinn treibt). 

Danke auch für die C128-Offerte, Andreas! Aber wie du siehst fehlen Platz und Zeit dafür... schade eigentlich!

Übrigens habe ich für die Spieldauerberechnung eine ganz simple Excel-Tabelle:

[Bild: sIcC57tty1AAAAAASUVORK5CYII=]

Die Bandlänge und Geschwindigkeit kann ich eingeben, die Spielzeit wird dann ausgegeben. War eine 5-Minuten-Aufgabe (wenn überhaupt). Nette Spielerei, die ich nur selten brauche... aber danke noch einmal an Alex für die Anregung, den C64 mal wieder anzuschließen, auch wenn's nur für eine halbe Stunde war!
Liebe Grüße
Thomas
Zitieren
#18
(29.09.2022, 20:34)timo schrieb: Ach ja, der gute, alte C-128. Das war schon ein spannendes Teil. Drei Betriebssysteme, zwei Prozessoren verschiedener Architekturen, zwei verschiedene Videostandards... für damalige Heimcomputer-Verhältnisse eine echte Kuriosität. Smile Schade irgendwie, daß er sich nicht wirklich durchgesetzt hat, der 128er-Modus hätte m.E. eine Menge Potential gehabt.

Richtig. Umso schöner, dass es aber auch heute noch Programmierer gibt, die für die alte Hardware neue Software entwickeln. Für den C128 gibt es seit ein paar Monaten das recht gelungene Spiel "Attack of the PETSCII robots":
https://www.the8bitguy.com/product/petsc...odore-128/

Ursprünglich als C64 Spiel entwickelt, wird hier der C128 nicht wie damals so oft einfach im C64 Modus genutzt, statt dessen wird der zusätzliche Speicher voll ausgenutzt. Es ist sogar möglich, zwei Monitore anzuschließen um dann auf einem das Spiel und auf dem anderen eine Übersichtskarte zu haben.



Gruß
Robert
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste