Robotrontechnik-Forum

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

Robotrontechnik-Forum » Technische Diskussionen » Unvollständiges Listing? Wie wird BasiCode gehandhabt? » Themenansicht

Autor Thread - Seiten: -1-
000
08.11.2023, 08:06 Uhr
ThomasR

Avatar von ThomasR

Wegen des berechtigten Einwands von BICa5105 eröffne ich hier einen eigenen Thread, um nicht (länger) seinen Thread https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=20759? zu kapern.



Zitat:
Dirk mit KC-4 schrieb

Zitat:
also die Bascoder-Routinen, die computerspezifisch sind, müssen schon vorhanden sein.



ach so, jetzt versteh ich das erst. Zeilen 1-999 sind je nach verwendeten Computer und ab Zeile 1000 geht das eigentliche Programm los.
Nicht schlecht die Idee, schade das man das nicht weiter geführt hat, auch für andere Programmiersprachen.



Weil auf die Möglichkeiten des bescheidensten Teilnehmers Rücksicht genommen werden musste, konnten die Programme nicht zu spektakulär werden. Trotz der genialen Idee verlor sich recht schnell das breite Interesse, weil die Hardware immer weiter voranschritt und die einzelnen Computer das mit BasiCode erreichbare weit in den Schatten stellten. Was waren schon acht Farben und einkanaliger Sound über drei bis vielleicht fünf Oktaven gegen 16-bit-Ataris, Amigas oder IBM-Kompatible, die in den Firmen regelmäßig ausgetauscht wurden und in Privathaushalten landeten?

So befassen sich seit dem Ende der Rundfunkausstrahlungen (ja, bis 1992 wurden mangels Internets Programme von Radiosendern ausgestrahlt, war bequemer als das fehlerträchtige Abtippen von Listings aus Zeitschriften) nur noch wenige von uns, die überhaupt noch etwas mit den frühen Computern am Hut haben, damit.

Das Prinzip ist aber erhalten geblieben: JavaScript-Programme sind überall gleich, nur braucht jede Maschine ihre eigene Virtual Machine dafür.


Zitat:
Dirk mit KC-4 schrieb
ich habe das gefunden:

"Ab September 1989 wird vom Rundfunk der DDR der Basicode verwendet. Zunächst erfolgt ein kleiner Lehrgang. Zu diesem Zeitpunkt kann ein begleitendes Material beim Rundfunk angefordert werden. Ferner wird es möglich sein, Bascoder für einige Rechner (wahrscheinlich auf einerSchallplatte) zu erhalten. Anfang 1990 wird der VEB Verlag Technik voraussichtlich ein umfangreiches Lehrbuch für Basicode anbieten."

Ist davon noch etwas rausgebracht worden? Hat da noch jemand was von?



Na klar, für welchen Computer suchst Du es speziell?
Vieles wirst Du schon auf basicode.de finden.
Man muss sich auch nicht von Kassette als Speichermedium abschrecken lassen – es gibt etliche andere Übertragungsmöglichkeiten für die ASCII-Files.
Hier http://robhagemans.github.io/basicode/ kannst Du viele Programme gleich im Browser ausprobieren.


Zitat:
Dirk mit KC-4 schrieb
BasicodeLoader 2 für den KC84/4 hätt ich gerne.
BasicodeLoader 3 hab ich gefunden, aber da es ja auch reichlich Basicode Programme die nur unter Basiccode 2 laufen, hätt ich dann gerne den BasicodeLoader 2

(der Unterschied ist übrigens leicht zu erkennen, BasicodeLoader Version 3 hat ab Zeile 950 'Programm beenden', das gibts in der Version 2 nicht. Wenn wer BasicodeLoader Version 2 hat bitte im Basic-Quelltext hier reinkopieren)

Hier die BasicodeLoader Version 3, im Basic-Quelltext, ich musste etwas länger suchen, aber ich denke das die komplette und lauffähig:

1 REM --- BasicCodeLoader (Zeilen <1000) für den KC85/3/4 ---
3 REM BasiCode3 fuer SCP-Basic
4 REM Startpunkt des (Pseudo-)Zufallszahlengenerators
5 INPUT "Bitte geben Sie eine ganze Zahl zwischen -32768 und 32767 ein: ",RV
6 RV=FIX(RV):IF RV<-32768! THEN RV=-32768!
7 IF RV>32767 THEN RV=32767
8 RANDOMIZE(RV)
9 REM Groesse des Stringspeicherraums in A uebernehmen
10 GOTO 1000
19 REM Bildschirm und Variablen loeschen
20 PRINT CHR$(12);:CLEAR:HO=79:VE=23:GOTO 1010
100 PRINT CHR$(12);:RETURN:REM Bildschirm loeschen
109 REM Cursor an Position HO,VE setzen
110 PRINT CHR$(27);CHR$(128+VE);CHR$(128+HO);:RETURN
119 REM Ermitteln der Cursorposition
120 HO=POS(HO):RETURN
121 REM (ohne Rueckgriff auf Hardware-Individualitaet nur fuer horizontale Position loesbar)
149 REM auffaelliges Anzeigen von SR$
150 PRINT STRING$(3,160);:FOR OF%=1 TO LEN(SR$):PRINT CHR$(128+ASC(MID$(SR$,OF%,1)));:NEXT OF%:PRINT STRING$(3,160);:RETURN
199 REM Daten einer evtl. gedrueckten Taste werden (ohne Warten) uebernommen
200 IN=0:IN$=INKEY$:IF IN$<>"" THEN 211 ELSE RETURN
209 REM Warten auf Tastendruck und Uebernahme der Werte der gedrueckten Taste
210 GOSUB 200:IF IN$="" THEN 210
211 IN=ASC(IN$):RETURN
219 REM Lesen des Zeichens auf Position HO,VE
220 RETURN
221 REM (nur mit hardwarespezifischen Daten realisierbar)
249 REM Erzeugen eines kurzen Aufmerksamkeitstons
250 PRINT CHR$(7);:RETURN
259 REM Erzeugen einer Zufallsvariablen
260 RV=RND(ABS(100*RV)):RETURN
269 REM Ausfuehren von garbage collection, freier Speicher in FR
270 FR=FRE(""):RETURN
279 REM Sperren der Unterbrechungstaste
280 RETURN
281 REM (hardwareunabhaengig nicht realisierbar)
299 REM Umwandeln von Zahl in Zeichenkette, ohne fuehrendes Leerzeichen
300 SR$=STR$(SR):IF SR>=0 THEN SR$=MID$(SR$,2)
301 RETURN
309 REM formatierte Ausgabe von SR, CT Stellen, davon CN nach dem Dezimalpunkt
310 SR$=STR$(FIX(SR)):IF SR>=0 THEN SR$=MID$(SR$,2)
311 IF (SR<0 AND LEN(SR$)>CT-CN+1) OR (SR>=0 AND LEN(SR$)>CT-CN) THEN OP$="":SR$=STRING$(CT,42):GOTO 313
312 IF CN=0 THEN OP$="" ELSE OQ=INT(10^CN*(ABS(SR)-FIX(ABS(SR)))):OP$="."+MID$(STR$(OQ),2)
313 SR$=SR$+OP$:RETURN
329 REM Umwandlung von Kleinbuchstaben in SR$ in Grossbuchstaben
330 FOR OF%=1 TO LEN(SR$):IF ASC(MID$(SR$,OF%,1))>96 THEN GOSUB 332
331 NEXT OF%:RETURN
332 OSR%=ASC(MID$(SR$,OF%,1))-32:SR$=LEFT$(SR$,OF%-1)+CHR$(OSR%)+MID$(SR$,OF%+1):RETURN
349 REM SR$ wird an den Drucker geschickt (ohne Zeilenvorschub)
350 LPRINT SR$;:RETURN
359 REM Drucker in neue Zeile
360 LPRINT:RETURN
399 REM Erzeugung eines Tons entspr. Werten von SV, SD und SP
400 RETURN
401 REM (allenfalls hardwarespezifisch realisierbar)
449 REM Warten von max. SD*0.1 s auf Tastendruck, Rueckgabe der nicht verbrauchten Zeit in SD
450 OTIME=SD*5
451 GOSUB 200:IF IN<>0 THEN 453
452 OTIME=OTIME-1:IF OTIME>0 THEN 451
453 SD=INT(OTIME/5)
454 RETURN
455 REM (Faktor 5 in Zeile 450 UND 453 hardwarespezifisch anpassen)
499 REM Oeffnen einer Datei zum Lesen oder Schreiben
500 IF NF MOD 2=0 THEN OPEN "I",1,NF$:INPUT# 1,OBESTAND$:IN=0 ELSE PRINT NF$:OPEN "O",2,NF$:IN=0
501 RETURN
539 REM Uebergabe eines Strings aus der Datei in IN$
540 IN$=OBESTAND$:IF EOF THEN 543 ELSE INPUT# 1,OBESTAND$
541 IF OBESTAND$<>"" THEN OU$=MID$(OBESTAND$,1,1):IF ASC(OU$)=26 THEN OBESTAND$="":GOTO 543
542 IF NOT EOF THEN IN=0:GOTO 544
543 IN=1
544 RETURN
559 REM Schreiben von IN$ in die Datei
560 IN=1:PRINT# 2,SR$:IN=0:RETURN
579 REM Schliessen einer Datei
580 IF NF MOD 2=0 THEN CLOSE 1 ELSE PRINT# 2,CHR$(26):CLOSE 2 CLOSE 2
581 RETURN
599 REM Grafikmodus einschalten und Bildschirm loeschen
600 RETURN
601 REM (nur hardwarespezifisch realisierbar)
619 REM Grafikbetrieb: Punkt setzen
620 RETURN
621 REM (nur hardwarespezifisch realisierbar)
629 REM Grafikbetrieb: Linie zeichnen
630 RETURN
631 REM (nur hardwarespezifisch realisierbar)
649 REM Textausgabe im Grafikmodus
650 RETURN
651 REM (nur hardwarespezifisch realisierbar)
949 REM Beenden des BasiCode-Mode
950 PRINT CHR$(12):CLEAR:END



Zitat:
Dirk mit KC-4 schrieb
und das was ich geschrieben habe suche ich als .pdf Bücher, falls es die überhaupt gab, als dieses 'Lehrbuch' und den 'Lehrgang' und das 'begleitende Material':

"Ab September 1989 wird vom Rundfunk der DDR der Basicode verwendet. Zunächst erfolgt ein kleiner Lehrgang. Zu diesem Zeitpunkt kann ein begleitendes Material beim Rundfunk angefordert werden. Ferner wird es möglich sein, Bascoder für einige Rechner (wahrscheinlich auf einerSchallplatte) zu erhalten. Anfang 1990 wird der VEB Verlag Technik voraussichtlich ein umfangreiches Lehrbuch für Basicode anbieten."




Zitat:
Dirk mit KC-4 schrieb

Zitat:
3 REM BasiCode3 fuer SCP-Basic



sehe ich das falsch oder ist das nicht lauffähig unter CAOS KC85/3/4 ?

Dann suche ich entsprechend noch den BasicodeLoader V2 bzw. V3 lauffähig unter CAOS KC85/3/4



Das Listing ist offenbar eine Zwischenversion, wohl sogar von mir selbst bei einem sehr frühen Versuch, einen Bascoder von Version 2 auf Version 3 zu erweitern, und zwar für SCP-Basic.

Das DDR-BasiCode-Buch (dem eine Vinyl-Single beilag)



existiert meines Wissens noch nicht komplett als PDF.

Die Bedienung für den 4er KC ist hier: https://joyce.de/basicode/literatur/BCKC85_4.pdf beschrieben.

Vom Begleitmaterial des Rundfunk-Lehrgangs gibt es eine erweiterte Zweitauflage als PDF: https://joyce.de/basicode/info/kurs.htm und dort auch ein Manual: https://joyce.de/basicode/download/Man_BC3C.pdf .

Angenehm arbeiten lässt es sich mit diesem Projekt: http://kc85emu.de/Download/basicode@dfend.zip (dort sind auch die KC85-Bascoder in verschiedenen Versionen enthalten) wie auch mit dem schon erwähnten online-Bascoder.

BC-2-Programme laufen problemlos unter BC-3, einen 2er Bascoder für unsere KCs gibt es wohl gar nicht, weil der DDR-Rundfunk damals noch nicht dabei war. Unterscheidungsmerkmal ist, dass bei BC-2 bei GOSUB 360 Schluss ist und die Programme noch nicht mit GOTO 950 beendet werden. Ich sehe gerade, das hast Du selbst schon entdeckt.

Dann ein anderer Fun-Fact. BC-2 war noch komplett ein Amateurprojekt, "Schulhof-Software", frei kopierbar. Als im BasiCode-Herkunftsland Niederlande Version 3 erschien, war sie an den Erwerb des Buchs und der Kassette gebunden. Die BC2-Nutzer sahen darin eine Kommerzialisierung, mit der sie nicht einverstanden waren. Die meisten "boykottierten" daher den neuen Standard (neu waren Sound und monochrome Pixelgrafik) und schrieben demonstrativ weiterhin BC-2-Programme, die beiden Versionen existierten also nebeneinander.


Zitat:
Zwangsrentner schrieb
Zitat:
Das DDR-BasiCode-Buch (dem eine Vinyl-Single beilag) existiert meines Wissens noch nicht komplett als PDF.
Da könnte eventuell Ambrosius etwas haben.

Die Schallplatte gibt es als CD. Siehe http://www.mpm-kc85.de
grüsse aussem harz



Ja, laut Zwangsrentner, der mir per PN schrieb, wurde sie privat gefertigt. Dank an ihn für den Hinweis!



Habe ich leider noch nicht in den Händen gehalten.

Ich habe aber diese https://ub.fnwi.uva.nl/computermuseum/hobbyscoop.html CD .



Ehe Missverständnisse aufkommen, 5 bedeutet fünfte best-of-Zusammenstellung von BasiCode-Programmen (2er Standard) – und nicht Version 5 von BasiCode, 3C ist nach wie vor die aktuellste.
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 08.11.2023 um 08:53 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
08.11.2023, 12:02 Uhr
Dirk mit KC-4



Den Einwand des kappens fand ich nicht gut, weil dort alles zu Basicode in einem Thread war und es betrifft KC85 genau wie Robotron Computer.
Und Basicode Programme betrifft dann natürlich auch beide. Deine Eingangsposting ist jetzt völlig durcheinander..

(Um mal kurz zu erklären für diejenigen die das hier lesen und sich fragen was Basicode eigentlich ist. Ein Basic-Programm wird 'aufgeteilt', Zeilen über 1000 sind das eigentliche Basicprogramm. Die Zeilen 1-999 (BasiccodeLoader) sind je nach verwendeten Computer unterschiedlich, egal ob KC85 /3/4 oder Robotron oder KC compact oder SPC-Basic (Listing 1-950 im Eingangsposting). Zweck des ganzen: Basicprogramme sind so computerübergreifend verfügbar.)


Aber da du jetzt hier angefangen hast..

Der BasicodeLoader für den KC85/3/4 den such ich noch immer, oder genau:

In einem der downloads, dieser hier:
http://kc85emu.de/Download/basicode@dfend.zip
findet sich, ganz versteckt, im Ordner emu die Basicode Dateien ladbar für den KC85/3/4. (Im Ordner ../VirtualHD/kc85emu/Basicode als .tap und .853 Dateien) Ganz großer Nachteil und darum gehts: die haben ein Programm um die Zeilen 1-999 gestrickt.
Anstatt das man nun ein beliebiges Basicode Programm nimmt, z.B. von der riesen Sammlung hier:
https://github.com/robhagemans/basicode

und dann einfach schaut, ahh KC85/4 der braucht diese speziellen Code-Basic-Zeilen 1-999, einfach dann zusammenkopieren und das fertige Programm per Basic in den KC85 reinladen.. Geht nicht, weil eben diese Zeilen 1-999 nicht verfügbar sind und nur in den fertigen BasicLoadern Programmen drin stecken. Man muss dort nun auf dem KC85 erst dieses Programm laden und dann dort das eigentliche Basicode Programm nachladen. Zu umständlich wie ich finde, ich hätte lieber die reinen BasiccodeLoader zeilen 1-999, gibts ja für die anderen Rechner (Robotron, KC compact, SCP-Basic -Listing im Posting#1) auch.

Thomas hast du also die Zeilen 1-999 für den KC 85 /3/4 ? Oder bekommt jemand von euch die aus den Programmen in der .zip rausextrahiert (die Dateien befinden sich im Ordner emu) ?
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer

Dieser Beitrag wurde am 08.11.2023 um 13:33 Uhr von Dirk mit KC-4 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
08.11.2023, 12:48 Uhr
ThomasR

Avatar von ThomasR


Zitat:
Dirk mit KC-4 schrieb
Den Einwand des kappens fand ich nicht gut, weil dort alles zu Basicode in einem Thread war und es betrifft KC85 genau wie Robotron Computer. (...)



Ich verstehe Cornelius' Einwand: die Überschrift des Threads lautet "Spiele für den BIC".

BasiCode kommt auch in einem anderen KC85-Thread schon vor und in einem KC compact-Thread, jetzt auch in einem CP/M-Thread. So ist es wirklich besser, eher allgemeine Probleme in einem eigenen Thread zu besprechen.


Zitat:
(...) Thomas hast du also die Zeilen 1-999 für den KC 85 /3/4 ? Oder bekommt jemand von euch die aus den Programmen in der .zip rausextrahiert (die Dateien befinden sich im Ordner emu) ?



Ich antworte später ausführlicher, hier erst einmal die Information, dass bei den KC85/3 und /4-Bascodern die Routinen in Maschinencode umgesetzt sind (lies noch einmal in https://joyce.de/basicode/literatur/BCKC85_4.pdf nach), wenn sie auch trotzdem vom Programm dann mit GOSUB zeilennummer angefordert werden. Mit GOSUB 100:LIST bekommst Du die angezeigt, sie enthalten aber jeweils nur einen CALL-Befehl.

Trotzdem kann bei Diskettenarbeit das Problem bequem gelöst werden. Das Programm liegt Dir in ASCII vor, Du hast es auch so auf der Diskette? Dann kannst Du nach dem Laden und Aktivieren des Bascoders (also aus dem Menü



heraus) das Programm mit LOAD#1 hinzuladen - die Bascoder-Routinen gehen dabei nicht verloren. Mit * erhältst Du das BasiCode-Menü zurück. Nicht einmal eine Meldung "Systemabsturz" muss Dich schrecken, wenn nach CALL*40D das Menü wieder erscheint, ist alles noch in Ordnung.

Im Menü wird Dir angezeigt, wieviel Speicher entweder die interne (Token-)Form des Programms belegt oder wieviel die ASCII-Form. Steht das Programm noch im ASCII-Bereich musst Du erst *T ausführen und kannst danach das (dann komplette) Programm mit RUN starten.

Ich hoffe, das hilft Dir erst einmal weiter?
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 08.11.2023 um 12:50 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
08.11.2023, 12:56 Uhr
Dirk mit KC-4




Zitat:
hier erst einmal die Information, dass bei den KC85/3 und /4-Bascodern die Routinen in Maschinencode umgesetzt sind



Ich habe die letzte Nacht (bis heute Morgen), alles durchgeschaut, getan und gemacht, die ganzen Beschreibung, Anleitungen usw. durchgeschaut. Vergiss das also alles, bringt nicht weiter. Bleib bei dem was ich fragte. Das Bildchen von dem programm ist das was ich oben in meinem posting#2 schrieb, die LoaderSoftware auch als .SSS die versteckt in der .zip download im Ordner emu steckt

"Zeilen 1-999 für den KC 85 /3/4" in lesbarer Form, die suche ich konkret. Komm mir bitte nicht mit .tap und .853 Dateien Programmen laden (siehe oben Posting#2 zum download und dein Posting#3 mit dem Bildchen des Programms), hab ich probiert, aber ich komm nicht an diese Zeilen 1-999 dran. Wenn du dran kommst (vielleicht über Funktionen es KC emu und dann kopieren als Textdatei?? oder man kann vielleicht diese .tap und .853 zerlegen?), oder wenn du die Zeilen 1-999 hast dann poste sie hier - als Textform Listing
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer

Dieser Beitrag wurde am 08.11.2023 um 13:38 Uhr von Dirk mit KC-4 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
08.11.2023, 14:11 Uhr
ThomasR

Avatar von ThomasR

In lesbarer Form gibt es das nicht, manche Funktionen sind nicht mit Basic-Befehlen umsetzbar, deswegen wurde der Weg mit dem Maschinencode-Bascoder gewählt. So sind halt die Tatsachen.

Andreas Graf schrieb einen Bascoder für 8-Bit-Ataris, für den musste er erst ein eigenes Basic erstellen, mit dem Atari-Basic oder auch dem Turbo-Basic sind die LEFT$( - und so weiter - Befehle einfach nicht hinzubekommen. Auch bei wenigen anderen Computern gibt es den Bascoder auch nur in Maschinencode.

Bevor Du die Flinte ins Korn wirfst, ich habe noch einen weniger legalen Lösungsweg.

Ein als BasiCode auf Diskette gespeichertes Programm sieht so aus:



.
.
.



Der Unterschied zum ASCII-Listing ist, dass (siehe 1020 DIMA$(4) usw.) Leerzeichen nach Schlüsselwörten fehlen. Wären sie da, wäre es auch nicht schädlich. Ebensowenig, dass der Zeilenwechsel nur mit 0D (hex) und nicht mit 0D (hex) und 0A (hex) stattfindet. Auch hier funktioniert das Programm ebenso gut, wenn zwei Bytes den Zeilenwechsel anzeigen. Nur im Text-Editor sieht die ein-Byte-Variante blöd aus.

Das beides ist Nebensache, der Knackpunkt ist, dass die Datei mit der Kennung 02 (hex) und einem Zeilenwechsel beginnt, damit wird es als BasiCode-Speicherung erkannt.

Am Ende steht ein 03 (hex) und ein Prüf-Byte. Alles dazwischen ist (bis auf die erwähnten Leerzeichen und Zeilenwechsel) identisch.

Mit Hex-Editor oder vielleicht Disk-Editor können also vor das ASCII-Listing 02 (hex) (ASCII-Code für STX, start of text) und ein Zeilenwechsel eingefügt werden und nach dem letzten Zeilenwechsel 03 (hex) (ASCII-Code für ETX, end of text) und dahinter ein Byte Deiner Wahl (das das Prüf-Byte ersetzt) angehängt werden.

Diese geänderte Datei wird vom Bascoder als normale BasiCode-Abspeicherung akzeptiert, Du kannst sie mit *A aus dem Menü einlesen. Mit der Chance 255:256 wird am Ende ein Prüfsummenfehler vermeldet, störe Dich nicht daran.

Mit *T lässt Du nun den Bascoder das immer-noch-ASCII-File in Token übersetzen, dann ist das nun komplette Programm fertig zur Nutzung.

Dieser Weg ist zwar nicht sauber, aber eine mögliche Lösung, probiere es mal aus.

Ich werde Dir per PN noch abfotografierte Seiten aus dem BasiCode-Buch schicken.
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 08.11.2023 um 21:08 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
08.11.2023, 15:13 Uhr
Dirk mit KC-4



Thomas, das es in Assember sein muss ist unwahrscheinlich. Die Zeilen 1-999 sind bei allen Computern in Basic. Die Macher dieses .853 Programms haben da ein Programm halt drum rum gesetzt. Ob das anwenderfreundlicher ist, weiß ich nicht.
Ich finde das mit den reinen basic zeilen 1-999 praktischer.

Aber konkret, hast du das Basic Listing für den KC 85 /3/4 mit Zeile 1-999 ?
Wenn du sagtest du hast dieses KC 85 /3/4 Listing in SPC-Basic umgesetzt (Posting#1), hast du noch das urspüngliche Listing Zeile 1-999 ?
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
08.11.2023, 15:53 Uhr
ThomasR

Avatar von ThomasR

Hallo Dirk,

beiß Dich doch nicht an dem Listing fest, das habe ich verfasst, als ich selbst noch blutiger BasiCode-Anfänger war - ich habe auf dem KC compact (und bald der CPC-Emulation) damit begonnen, mich später auf ZX81, Commodore 64 und plus/4 damit befasst, bin dann beim Amstrad PCW gelandet. Ich weiß jetzt nicht, wie lange ich den 85/4 (und damit auch die Diskettenausrüstung) schon habe, den 85/3 habe ich in Wende-Zeiten im Betrieb gekauft, mich aber nicht mit Kassetten und BasiCode gequält, das wurde erst mit Disketten "bequem".

Warum in der ersten Zeile des von Dir gefundenen Listings dieser Text steht (vermutlich aus einem anderen beabsichtigten Projekt), weiß ich heute nicht mehr. Den Bascoder in der von Dir erwarteten Form (die es auch für mich leichter machen würde) gibt es einfach nicht, das kann Dir auch FL in diesem Forum bestätigen, der hat schon eine Portion mehr Ahnung vom Programmieren als ich mit meinen am Ende doch mageren autodidaktisch erworbenen Basic- (und leider nur Basic-) Kenntnissen.

Dieses Listing war mein erster Ansatz, aus CP/M-Basic-BasiCode (Version 2) eine Version 3 zu erstellen, wohl auf dem K8915 mit SCP-Basic, den ich damals (auch aus dem Betrieb) hatte. So, wie ich es später auch für den Amstrad PCW hinbekommen habe. "Grafik nur hardwarespezifisch realisierbar" - auf dem PCW habe ich es maschinenspezifisch gelöst, weiß aber auch heute, dass es mit GSX (grafische Systemerweiterung) auch für CP/M-Computer überhaupt machbar wäre. Ich weiß nur nicht, ob es GSX auch für SCP bzw. meinen K8915 (keine Ahnung, ob der pixelgrafik-fähig war) gegeben hat.

Ich bin doch froh, dass ich nach langem wieder einmal Rückkopplung erhalte, passiert selten genug, da werde ich doch nicht meine Unterstützung verweigern und mit irgendwelchem Wissen hinterm Berg halten.

Versuch diesen "unsauberen" Weg, den ich im vorigen Beitrag vorgeschlagen habe, das Anhängen von einer PDF an eine PN ist hier leider nicht zugelassen, deswegen wird es erst mal nichts mit Fotos aus dem Buch.
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 08.11.2023 um 15:54 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
08.11.2023, 16:01 Uhr
Dirk mit KC-4



Thomas, ich beis mich an dem Listing fest :-) das Listing muss es ja geben

Hochladen von Dateien kannst du übrigens auch hier:
https://1fichier.com/

den download Link nach dem hochladen dann hier einfach rein posten.
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
08.11.2023, 16:07 Uhr
Dirk mit KC-4



den BasicoderLoader (also Zeile 1-999) für PCW Joyce wo du es erwähnst hab ich heute Nacht beim suchen gefunden, hab ich noch im unsortieren Basicode Ordner, vielleicht hat jemand so einen PCW Joyce und braucht das Programm:
(und wie du siehst auch hier zu 100% in Basic umgesetzt, also muss es das auch für den KC 85 /3/4 für Caos-Basic geben)

1 RANDOMIZE (60*PEEK(64503!)+PEEK(64504!)):IF PEEK(&HF000)=&H7E THEN 10
2 GOSUB 957:GOTO 984
10 GOTO 1000:REM BASICODE-3 f}r Amstrad PCW v 1.0
20 GOSUB 100:CLEAR:SV=7:OSETCHAR=&HF000:OSETPOINT=&HF0BA:OPOINT2=&HF256:ODRAW=&HF162:OGETCUR=&HF263:OREADCHAR=&HF277:OFINDCHAR=&HF287
21 HO=39:VE=23:HG=659:VG=247
28 GOTO 1010
100 PRINT CHR$(27)"e"CHR$(27)"c?"CHR$(27)"b"CHR$(0);:WIDTH 255
101 PRINT CHR$(27)"E"CHR$(27)"H";:HO=0:VE=0:GOSUB 952:RETURN
110 HO=MAX(0,HO):HO=MIN(39,HO):VE=MAX(0,VE):VE=MIN(23,VE):PRINT CHR$(27)"Y"CHR$(32+VE)CHR$(32+HO);:RETURN
120 CALL OGETCUR:HO=PEEK(&HF26C):VE=PEEK(&HF26D):RETURN
150 PRINT CHR$(27)"p ";SR$;" "CHR$(27)"q";:RETURN
200 IN=0:IN$=INKEY$:IF IN$<>"" THEN IN=ASC(IN$)
201 CN=-32*((IN>96) AND (IN<126)):IN=IN-CN:IF CN=32 THEN IN$=CHR$(IN)
202 IN=IN-27*(IN=1):IN=IN-23*(IN=6):IF IN=127 THEN GOSUB 120:IF HO>0 THEN IN$=CHR$(27)+"D "+CHR$(27)+"D" ELSE IN=0:IN$=""
203 RETURN
210 GOSUB 200:IF IN$<>"" THEN RETURN ELSE 210
220 POKE &HF278,VE:POKE &HF27A,HO:CALL OREADCHAR:CALL OFINDCHAR:IN=PEEK(&HF276):RETURN
250 PRINT CHR$(7);:RETURN
260 RV=RND:RETURN
270 FR=FRE(""):RETURN
280 OPTION RUN:IF FR=1 THEN OPTION STOP
281 RETURN
300 SR$=STR$(SR):IF SR>=0 THEN SR$=MID$(SR$,2)
301 RETURN
310 IF CN=0 THEN SR$=DEC$(SR,STRING$(CT,"#")) ELSE SR$=DEC$(SR,STRING$(CT-CN-1,"#")+"."+STRING$(CN,"#"))
311 IF LEFT$(SR$,1)="%" THEN SR$=STRING$(CT,"*")
312 RETURN
330 FOR OF=1 TO LEN(SR$)
331 IF ASC(MID$(SR$,OF,1))>95 THEN GOSUB 340
332 NEXT OF
333 RETURN
340 OSR=ASC(MID$(SR$,OF,1))-32
341 SR$=LEFT$(SR$,OF-1)+CHR$(OSR)+MID$(SR$,OF+1)
342 RETURN
350 LPRINT SR$;:RETURN
360 LPRINT:RETURN
400 IF SV=0 THEN 450
401 IF SD=0 THEN RETURN ELSE OP=SP:ODUUR=SD
402 OP=MAX(SP,11):OP=MIN(SP,112)
403 SD=SD*0.45:ODUUR=MAX(SD,1):ODUUR=MIN(SD,255)
412 OFREQ=880*(2^((OP-69)/12)):OCW=ROUND(400000!/3/OFREQ)-4:OCW=MAX(OCW,1):OCW=MIN(OCW,255)
413 OHLW=0.2*ODUUR*OFREQ:OHLW=MAX(OHLW,1):OHLW=MIN(OHLW,65535!)
415 OADR=&HF404:OLW=OHLW-256*INT(OHLW/256):POKE OADR,(OHLW-OLW)/256:OADR=&HF403:POKE OADR,OLW:OADR=&HF401:POKE OADR,OCW:OADR=&HF400
416 CALL OADR:RETURN
450 OSD=SD*3.45
451 OSD=OSD-1
452 GOSUB 200:IF IN=0 THEN 453 ELSE IF SV<>0 THEN 454
453 IF OSD>0 THEN 451 ELSE 457
454 SD=INT(OSD/3.45)
455 RETURN
457 SD=0:GOTO 455
500 ON NF+1 GOTO 541,541,516,521,516,521,516,521
516 OPEN "I",#2,NF$:INPUT #2,OBESTAND$:IN=0:RETURN
521 PRINT NF$:OPEN "O",#3,NF$:IN=0:RETURN
540 IN$="":IN=1:ON (NF+2)/2 GOTO 541,551,551,551
541 OTX$=CHR$(27)+"p Arbeit mit Tape am Parallelport au~erhalb Basic mit BCREAD.COM / BCWRIT.COM "+CHR$(27)+"q":GOSUB 951:RETURN
551 IN$=OBESTAND$:IF EOF(2) THEN 559 ELSE LINE INPUT #2,OBESTAND$
552 IF OBESTAND$<>"" THEN OU$=MID$(OBESTAND$,1,1):IF ASC(OU$)=26 THEN OBESTAND$="":IN=1:RETURN
553 IF EOF(2) THEN 559
554 IN=0:RETURN
559 RETURN
560 IN=1:ON (NF+1)/2 GOTO 561,575,575,574
561 GOSUB 541:RETURN
575 PRINT #3,SR$:IN=0:RETURN
580 ON NF+1 GOTO 541,541,591,593,591,593,591,593
591 CLOSE #2:RETURN
593 PRINT #3,CHR$(26):PRINT #3,CHR$(26):CLOSE #3:RETURN
600 PRINT CHR$(27)"f"CHR$(27)"c"CHR$(0)CHR$(27)"b?";:GOSUB 101:RETURN
620 GOSUB 655:OPH%=INT(OHO*HG):OPV%=INT(OVE*VG):OPM%=CN XOR 1:CALL OSETPOINT(OPV%,OPH%,OPM%):CALL OPOINT2(OPV%,OPH%):RETURN
630 GOSUB 655:OPH%=INT(OHO*HG):OPV%=INT(OVE*VG):OPM%=CN XOR 1:CALL ODRAW(OPV%,OPH%,OPM%):CALL OPOINT2(OPV%,OPH%):RETURN
650 GOSUB 655:OVE=MIN(OVE,0.972):OPV%=INT(OVE*VG):FOR OPT%=0 TO LEN(SR$)-1:OPH%=INT(OHO*HG)+OPT%*16:OPH%=MIN(OPH%,652):OPC%=-(CN=0)*ASC(MID$(SR$,OPT%+1,1))-32*(CN=1):CALL OSETCHAR(OPV%,OPH%,OPC%):NEXT OPT%:RETURN
655 OHO=MAX(0,HO):OHO=MIN(OHO,0.998):OVE=MAX(0,VE):OVE=MIN(OVE,0.995):RETURN
950 GOSUB 100:INPUT;"welches BasiCode-Programm laden (ENTER f}r R}ckkehr zu Mallard Basic) : ",IN$:IF IN$<>"" THEN CHAIN MERGE IN$,10,ALL,DELETE 1000-:ELSE CLEAR:PRINT CHR$(27)"E"CHR$(27)"H":END
951 GOSUB 120:OLEN=0.5*(90-LEN(OTX$)):PRINT CHR$(27)"0"CHR$(27)"Y@ ";:PRINT STRING$(OLEN,32);OTX$;:GOSUB 110:WHILE INKEY$="":WEND
952 PRINT CHR$(27)"0"CHR$(27)"Y@ BasiCode-3 f}r Mallard Basic auf Amstrad PCW / Schneider JOYCE ";:GOSUB 110:RETURN
953 REM Grafik-Routinen aus "SCREENY" von J. Steingr{ber & U. Baumgarten, PCAI 2'88
954 REM Sound-Routine aus "JOYCE COMPOSER" von P.-R. Wolter, PCAI 10'89
955 REM GOSUB 220 nach M. Anton Joyce-Sonderheft 1'87 und Norbert Finke PCAI 6/7'91
956 REM dynamische Berechnung des XBIOS-Vektors nach einem Hinweis von Werner Cirsovius
957 MEMORY &HEFFF:OADR=&HF000:A$="7EEB5E235660694EFEF93802D6F832B1F07AFE02380E2804160018087BFEC93803D6C85F437BE6F85FED53B2F07932B4F078":GOSUB 982:OADR=OADR+50
958 A$="E60732B5F0473EFF2804CB3F10FC6F2F6722B6F06926002929297CC6B86722B8F0015CF0CD5AFCE900C90608C521B1F05E7E":GOSUB 982:OADR=OADR+50
959 A$="34E6074F1600EB297CC6B6675E2356EB290600B7ED42E5DDE12AB8F0ED5BB2F0DD19561E003AB5F047B72806CB3ACB1B10FA":GOSUB 982:OADR=OADR+50
960 A$="3A20F42AB6F0A4B23220F43A21F4A5B3CD22F421B8F034C110AEC90000000000000000007EEB5E235660694E47ED435BF1ED":GOSUB 982:OADR=OADR+50
961 A$="535DF101D4F0CD5AFCE900C9ED4B5BF1ED5B5DF178325CF17AFE02380E2804160018087BFED03803D6CF5F437BE6F85FED53":GOSUB 982:OADR=OADR+50
962 A$="5DF179E603325BF178E607325FF1473E802804CB3F10FC6F2F672260F1215CF15E7EE6074F1600EB297CC6B6675E2356EB29":GOSUB 982:OADR=OADR+50
963 A$="0600B7ED42E5DDE1ED5B5DF1DD193A5BF1DD46002A60F1B7200678A4DD7700C91F300678B5DD7700C978A528F618EB000000":GOSUB 982:OADR=OADR+50
964 A$="000000007EEB5E235660694E473A46F22A47F23246F2ED4342F2ED5344F22247F2900601200105300405052F3C4F783249F2":GOSUB 982:OADR=OADR+50
965 A$="AF47ED5211010020011B30091B1B7C2F677D2F6F23ED534BF2E5D1E5AFED427C324DF217E13006D5C5C5E1D1C1224EF2CB3C":GOSUB 982:OADR=OADR+50
966 A$="CB1D2250F2ED4352F2ED5354F201D8F1CD5AFCE900C9ED4B42F2ED5B44F2CDDCF03A4DF217380D2A44F2ED4B4BF2092244F2":GOSUB 982:OADR=OADR+50
967 A$="180BED4B42F23A49F2803243F22A50F2ED4B52F2AFED422250F23026ED4B54F2092250F23A4DF217300D2A44F2ED4B4BF209":GOSUB 982:OADR=OADR+50
968 A$="2244F2180BED4B42F23A49F2803243F22A4EF22B224EF2CB7C2897C900000000000000000000000000000000000000007E32":GOSUB 982:OADR=OADR+50
969 A$="46F2EB5E2356ED5347F2C9CD5AFCBF00226CF2C9000000000000000000000016001E00216EF2CD5AFC84F2C9CF64170190F2":GOSUB 982:OADR=OADR+50
970 A$="CD5AFCE900C91620DD216EF2FD2100B9DD7E00FDBE002038DD7E01FDBE012030DD7E02FDBE022028DD7E03FDBE032020DD7E":GOSUB 982:OADR=OADR+50
971 A$="04FDBE042018DD7E05FDBE052010DD7E06FDBE062008DD7E07FDBE072872143E7FBA2807010800FD0918B31620FD2100B9DD":GOSUB 982:OADR=OADR+50
972 A$="7E00EEFFFDBE002046DD7E01EEFFFDBE01203CDD7E02EEFFFDBE022032DD7E03EEFFFDBE032028DD7E04EEFFFDBE04201EDD":GOSUB 982:OADR=OADR+50
973 A$="7E05EEFFFDBE052014DD7E06EEFFFDBE06200ADD7E07EEFFFDBE07280F143E7FBA2807010800FD0918A316007A3276F2C9":GOSUB 982
974 OADR=&HF400:A$="0E00210000CD09F4C9F33E0BD3F84110FE3E0CD3F84110FE2B7CB5C20AF4FBC900003221F42AB6F0ED5B20F4DD7E10CB7C28":GOSUB 982:OADR=OADR+50
975 A$="0ECB7A2806CBFFCBF71804CBBFCBB7CB74280ECB722806CBEFCBE71804CBAFCBA7CB6C280ECB6A2806CBDFCBD71804CB9FCB":GOSUB 982:OADR=OADR+50
976 A$="97CB64280ECB622806CBCFCBC71804CB8FCB87DD7710DD7E18CB5C280ECB5A2806CBFFCBF71804CBBFCBB7CB54280ECB5228":GOSUB 982:OADR=OADR+50
977 A$="06CBEFCBE71804CBAFCBA7CB4C280ECB4A2806CBDFCBD71804CB9FCB97CB44280ECB422806CBCFCBC71804CB8FCB87DD7718":GOSUB 982:OADR=OADR+50
978 A$="DD7E00CB7D280ECB7B2806CBFFCBF71804CBBFCBB7CB75280ECB732806CBEFCBE71804CBAFCBA7CB6D280ECB6B2806CBDFCB":GOSUB 982:OADR=OADR+50
979 A$="D71804CB9FCB97CB65280ECB632806CBCFCBC71804CB8FCB87DD7700DD7E08CB5D280ECB5B2806CBFFCBF71804CBBFCBB7CB":GOSUB 982:OADR=OADR+50
980 A$="55280ECB532806CBEFCBE71804CBAFCBA7CB4D280ECB4B2806CBDFCBD71804CB9FCB97CB45280ECB432806CBCFCBC71804CB":GOSUB 982:OADR=OADR+50
981 A$="8FCB87DD7708C9":GOSUB 982:GOTO 995
982 FOR I=1 TO LEN(A$) STEP 2:POKE OADR+(I-1)/2,VAL("&H"+MID$(A$,I,2)):NEXT I:RETURN
983 PRINT" ";:A$="1B70202020"+A$+"2020201B71":FOR I=1 TO LEN(A$) STEP 2:PRINT CHR$(VAL("&H"+MID$(A$,I,2)));:NEXT I:PRINT:RETURN
984 A$="9E9A9A9C202020202020202020202020202020202020209A20202020969A9A9A9C202020202020202020202020209E2020202020202020202020202020202020969A9A9A9C":GOSUB 100:HO=0:VE=11:GOSUB 110:GOSUB 983
985 A$="95202095202020969A9A9A9C2020969A9A9A9C202020209E2020202095202020202020969A9A9A9C2020969A9A9A9D2020969A9A9A9C202020202020202020202020202095":GOSUB 983
986 A$="979A9A9B9C2020969A9A9A9D2020939A9A9A9C202020209520202020952020202020209520202095202095202020952020979A9A9A9920202020929A982020202020209A9D":GOSUB 983
987 A$="952020209520209520202095202020202020952020202095202020209520202020202095202020952020952020209520209520202020202020202020202020202020202095":GOSUB 983
988 A$="9B9A9A9A992020939A9A9A9B2020939A9A9A99202020209B20202020939A9A9A992020939A9A9A992020939A9A9A9B2020939A9A9A9920202020202020202020939A9A9A99":GOSUB 983
989 PRINT:PRINT" f}r Mallard Basic auf Amstrad PCW (P) 2004 Thomas Rademacher (JOYCE-User-AG e.V.)"
990 HO=28:VE=31:GOSUB 110:PRINT CHR$(27)"p welches BasiCode-Programm laden: "CHR$(27)"q";:INPUT;"",IN$
991 IF IN$<>"" THEN CHAIN MERGE IN$,10,ALL,DELETE 957-999
995 A=256*PEEK(2)+PEEK(1)+87:IF A=&HFC5A THEN 998
996 AH=VAL("&H"+LEFT$(HEX$(A,4),2)):AL=VAL("&H"+RIGHT$(HEX$(A,4),2)):POKE &HF057,AL:POKE &HF058,AH:POKE &HF0CF,AL:POKE &HF0D0,AH
997 POKE &HF1D3,AL:POKE &HF1D4,AH:POKE &HF264,AL:POKE &HF265,AH:POKE &HF27F,AL:POKE &HF280,AH:POKE &HF28B,AL:POKE &HF28C,AH
998 RETURN
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
08.11.2023, 16:34 Uhr
ThomasR

Avatar von ThomasR


Zitat:
Dirk mit KC-4 schrieb
Thomas, ich beis mich an dem Listing fest :-) das Listing muss es ja geben (...).



Ja, es ist ein verdammter Entwurf von mir.

Hier ist der Download-Link: https://1fichier.com/?tkxxw5n2qt4x4zzzbb3b

Lies auf der ersten Seite den Absatz mit "Viele der nicht zugelassenen ..."

Und sieh Dir die Ausgabe nach GOSUB 100:LIST an, mehr Listing ist einfach nicht zu erreichen.

Viel Erfolg
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
08.11.2023, 19:01 Uhr
ralle



Also ich habe eine Version 1.5 für den KC85/4. Und hier ist dieser auch zu finden: https://www.iee.et.tu-dresden.de/~kc-club/09/RUBRIK04.HTM
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700

Dieser Beitrag wurde am 08.11.2023 um 19:03 Uhr von ralle editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
08.11.2023, 19:38 Uhr
Lötspitze



falsche Rubrik
--
___________________
...geboren, um zu löten.

Wer rennen soll, muß auch mal stolpern dürfen.

Dieser Beitrag wurde am 08.11.2023 um 19:39 Uhr von Lötspitze editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
08.11.2023, 19:51 Uhr
ThomasR

Avatar von ThomasR


Zitat:
ralle schrieb
Also ich habe eine Version 1.5 für den KC85/4. Und hier ist dieser auch zu finden: https://www.iee.et.tu-dresden.de/~kc-club/09/RUBRIK04.HTM



Danke für Deine Mühe.

Es ändert aber nichts an Dirks Problem - oder kommt bei Dir etwa ein anderes Listing?


--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
08.11.2023, 21:21 Uhr
maleuma



Die Bascoder für die KC85/3-4 sind fast komplett in Assembler geschrieben.
Das BASIC-Listing, welches Du mit GOSUB100:LIST aufrufst, zeigt die die Adressen zu den einzelnen Maschinencode-Routinen. Auch beim KC-BASIC waren mit den reinen BASIC-Befehlen nicht alle Eigenschaften von BASICODE realisierbar. Ich finde die Bascoder als gut gelungen.
Wo ist das Problem dabei?
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
08.11.2023, 21:28 Uhr
ThomasR

Avatar von ThomasR


Zitat:
maleuma schrieb
Die Bascoder für die KC85/3-4 sind fast komplett in Assembler geschrieben. (...)



Endlich unterstützt mich einer!

Als Ergänzung zur hochgeladenen PDF noch dieses Foto aus dem BasiCode-Buch:




Zitat:
(...) Ich finde die Bascoder als gut gelungen. (...)



Ich auf alle Fälle auch!
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 08.11.2023 um 21:33 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
08.11.2023, 21:47 Uhr
Dirk mit KC-4



Warum ich den Basicloader nicht gut finde:

Ich finde es deutlich einfacher sich ein Basic Programm (ab Zeile 1000) rauszusuchen, dann in einen Texteditor auf dem PC die Zeilen 1-999 einfach reinzukopieren und man hat ein eigenständiges Basic-Programm. Man muss nicht erst ein Programm laden um das Basic-Programm (ab Zeile 1000 da einzuladen). So ist es auf jeden anderen Computer und ich denke so war es von den holländischen Entwicklern auch so gedacht.

das Argument das hier 'das es nicht anders geht nur mit Assembler', dem glaub ich nicht, es geht ja auf anderen Computern auch, auf allen anderen ist der Basic-Code Zeile 1-999 verfügbar.

Und noch ein sehr wichtiger Grund: Hat man so ein fertiges komplettes Basic-Programm, also Zeile 1-5000, dann kann man es auch leichter verändern. Alles in einen Texteditor auf dem PC rein und fertig und vielleicht andere Stücke aus anderen Basic programmen die man braucht einfügen. Auch das war ja die Ursprungsidee von Basicode. Darum gabs auch reichlich Basicode Programme wo man Grafik, in anderen nur Soundstücke zu finden sind.

Aber naja, vielleicht findet sich ja noch diese Basic-Zeilen 1-999 für den KC85..
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
08.11.2023, 22:11 Uhr
maleuma



Du kannst gern versuchen, die Funktionalität des Bascoders in BASIC-Zeilen nachzubauen.
Aber Du wirst nicht die Performance bekommen, welche die Assembler-Routinen bieten.
Die Austauschbarkeit der BASICODE-Programme zwischen verschiedenen Rechnern ist auch nicht mehr gegeben. Das war ja ein wichtiges Kriterium von BASICODE. Und deswegen beginnen die BASICODE-Programme eben erst ab Zeile 1000. Jeder Rechnertyp muss also vorher seinen speziellen Bascoder laden und danach dann das Basicode-Programm dahinter.
Ohne Assembler-Routinen bekommst Du auch die Audio-Signale im Basicode-Format - was heute sogar zu verschmerzen wäre, weil die ASCII-Files anderweitig eingelesen werden können.

Ich lass mich aber gern vom Gegenteil überzeugen. Viel Erfolg!
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
08.11.2023, 22:34 Uhr
Dirk mit KC-4



auf jedem andere Computersystem wurde der BasicLoader (Zeile 1-999) in Basic umgesetzt (Robotron, KCCompact, PCW Joyce, zx Spectrum usw.), Assembler war nie vorgesehen! Die Macher des Programms BasicLoader haben da ihr eigenes Süppchen gekocht.

Basic Zeilen Übersicht des BasicLoaders, Computerspezifisch, Zeile 1-999:

ab Zeile 20 Programmstart, System-Reset, Variable löschen
100 Text-Modus einschalten und Bildschirm löschen.
110 Cursor auf die Position HO, VE.
120 Cursor-Position in HO,VE zuröckholen.
150 Auffälliges Anzeigen von SR$; rechts und links drei Spaces.
200 Daten einer eventuell gedrückten Taste in IN$ und IN.
210 wie 200, jedoch mit Warten auf Tastendruck.
220 Holen des Zeichens aus Schirmposition HO, VE auf IN.
250 Erzeugen eines kurzen Aufmerksamkeitstones.
260 Zufallsvariable in RV mit 0 <= RV < 1.
270 Ausführen von garbage collection und Speicherplatz in FR.
280 Aus- bzw. Einschalten der STOP/BRK - Taste FR = 0 bzw. 1.
300 SR wird ohne Space in SR$ gewandelt.
310 wie 300, jedoch als Zahl mit CT und CN formatiert.
330 Alle Kleinbuchstaben in SR$ in Großbuchstaben wandeln.
350 Übergabe von SR$ an den Drucker.
360 In neue Zeile mit Drucker (CRLF).
400 Erzeugung eines Tons gemäß SV, SD und SP.
450 Warten von maximal SD * 0,1 s auf einen Tastendruck.
500 Eröffnen eines Files mit dem Namen NF$ gemäß NF.
540 Aus dem File wird ein String in IN$ übergeben.
560 SR$ wird in das File geschrieben.
580 Man schließe den Bestand mit Code NF ab.
600 Graphischen Betrieb und Bildschirm löschen.
620 Setzen eines Punktes in die Position HO, VE mit Farbe CN.
630 Zeichnen einer Linie zum Punkt HO, VE in Farbe CN.
650 SR$ an der Position HO, VE anzeigen (Grafik-Mode).
950 Beenden des Basicode-Mode.
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer

Dieser Beitrag wurde am 08.11.2023 um 22:37 Uhr von Dirk mit KC-4 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
08.11.2023, 22:35 Uhr
Zwangsrentner



Hallo Dirk
wie andere schon geschrieben hatten:

Quelle:


Du solltest also erstmal das Buch lesen.
grüsse aussem harz
--
I'm just a truckle, but I don't like to truckle >TIMOTHY TRUCKLE<

Dieser Beitrag wurde am 09.11.2023 um 08:58 Uhr von Zwangsrentner editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
08.11.2023, 22:39 Uhr
Dirk mit KC-4



Elmar, da wo steht "das darfst du nicht", das zieht mich erst recht magisch an..

Fallschirmjäger sind Raufbolde, wilde Gesellen den man das kämpfen nicht beigebracht sondern regelrecht beruflich eingeprügelt hat..
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer

Dieser Beitrag wurde am 08.11.2023 um 22:40 Uhr von Dirk mit KC-4 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
08.11.2023, 23:17 Uhr
FL



Wenn du einen Bascoder für den KC85/2..5 haben willst, der nur in Basic geschrieben ist, mußt du ihn dir selber basteln.

Maleuma und ThomasR haben es schon betont:
Das was Andreas und Uwe Zierott 1989/90 programmiert haben, macht sehr viel Sinn.
Dadurch, das die einzelnen GOSUB's in CALL-Befehlen gekapselt sind, laufen sie wesentlich schneller als wenn man sie
mit Basic-Befehlen schreiben würde.
Bestes Beispiel ist die Möglichkeit einen Text pixelgenau irgendwo auf dem Bildschirm zu platzieren (GOSUB 650),
und nicht wie bei PRINT ausgerichtet am Text-Raster. Rein mit Basic-Befehlen wird das nichts.
Als zweites mußt du beachten, das Basicode nicht einfach nur eine Möglichkeit ist, ein und das selbe Programme auf
verschiedenen Plattformen auszuführen. Es ermöglicht auch den Datenaustausch zwischen diesen.
Speichermedium war damals die Kassette. Und dafür gibt es ein einheitliches Basicode-Aufzeichnungsformat.
Auch das muß ein Bascoder (auf einem Heimcomputer, der vorrangig Kassetten als Speicher benutzt,) können.

In Basicode@DFend findest du das Programm KCCONV. Es ist für DOS. Du mußt es also innerhalb der DOSBox von DFend aufrufen.
Damit kannst du deine KC-Files oder auch Basicode-Files beliebig hin und her konvertieren.
Du kannst damit also auch aus deinen Basicode-Programmen selbststartende KC-Files machen und umgekehrt.

Ich hoffe das ist das was du suchst.

Hier ein Auszug aus der Hilfe. Angezeigt wird sie mit KCCONV /?

Quellcode:
Aufruf   : KCCONV [[@]Quelle [Ziel]] [Optionen] [/F Argumentliste]

Quelle umfaßt Laufwerk, Suchpfad und Name(n) der zu übersetzenden Datei(en).
Wildcards sind erlaubt.
Ziel umfaßt Ziellaufwerk und -pfad

Optionen:
  /TAP      Speichert im Format des KC85-Emulators von A.Fitzenreiter (Standard)
  /D004     Speichert im Format des KC-Emulators für Windows von Henrik Haftmann
            bzw. des Floppyaufsatz D004/D008
  /BS4      Konvertiert BASIC-Programme in selbststartende Programme,für KC85/4
  /BS3      wie BS4, jedoch für KC85/3
  /BS3C,/BS4C  wie BS3 und BS4, jedoch Verwendung des Farbbascoders
  /ASC      Speichert Basicodefiles als ASCII-Text (PC-Bascoder)


Gruß
Frank.

Dieser Beitrag wurde am 08.11.2023 um 23:21 Uhr von FL editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
09.11.2023, 01:03 Uhr
Dirk mit KC-4




Zitat:
Hier ein Auszug aus der Hilfe. Angezeigt wird sie mit KCCONV

Ich hoffe das ist das was du suchst.


Nein, ich suche wirklich die reinen Basic Zeilen 1-999 für den KC 85 /3/4.
Aber vielleicht findet sich das ja noch.

Dieses Programm von Andreas und Uwe Zierott ist ja von 1989/90, Basicode gibt es seit 1980
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer

Dieser Beitrag wurde am 09.11.2023 um 01:03 Uhr von Dirk mit KC-4 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
09.11.2023, 01:28 Uhr
FL



Wir können dir leider nur das hier anbieten (aus dem KC85/4-Farbbascoder):

Quellcode:
        10 GOTO1000
        20 CC(0)=7:CC(1)=0:CALL*1FC4:GOTO1010
        100 CALL*1FA1:RETURN
        110 CALL*1FDA:RETURN
        120 CALL*11BC:RETURN
        150 CALL*1FD3:RETURN
        200 CALL*11DF:RETURN
        210 CALL*11E4:RETURN
        220 CALL*124F:RETURN
        250 CALL*6F1:RETURN
        260 CALL*1274:RETURN
        270 CALL*128D:RETURN
        280 CALL*12BC:RETURN
        300 CALL*12CA:RETURN
        310 CALL*1317:RETURN
        330 CALL*141E:RETURN
        350 CALL*144C:RETURN
        360 CALL*145A:RETURN
        400 CALL*1461:RETURN
        450 CALL*1485:RETURN
        500 CALL*14D4:RETURN
        540 CALL*1533:RETURN
        560 CALL*1550:RETURN
        580 CALL*155D:RETURN
        600 CALL*1FA8:RETURN
        620 CALL*1FAF:RETURN
        630 CALL*1FB6:RETURN
        650 CALL*1FBD:RETURN
        950 CC(0)=7:CC(1)=1:CALL*1FE1


Frank.

Dieser Beitrag wurde am 09.11.2023 um 01:28 Uhr von FL editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
09.11.2023, 02:56 Uhr
Dirk mit KC-4




Zitat:

10 GOTO1000
20 CC(0)=7:CC(1)=0:CALL*1FC4:GOTO1010
100 CALL*1FA1:RETURN
110 CALL*1FDA:RETURN
120 CALL*11BC:RETURN
150 CALL*1FD3:RETURN
....


So ein Befehl wie LIST CALL*1FA1 gibts nicht, oder? Kann man den Assembler-Code der sich bei diesen Aufrufen dahinter versteckt sichtbar machen um zumindest an diesen Assembler Quellcode zu kommen? Gibts da Programme für den KC85, Deassembler oder so?
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer

Dieser Beitrag wurde am 09.11.2023 um 02:57 Uhr von Dirk mit KC-4 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
024
09.11.2023, 07:13 Uhr
BICa5105

Avatar von BICa5105

...na hier geht's ja rund ;-)

Neuer Thread und so viel Information.... Jetzt hab ich auch endlich kapiert wie BasiCode funktioniert :-) …. .

LG Cornelius
--
https://www.youtube.com/@robotronA5105
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
025
09.11.2023, 08:07 Uhr
Dirk mit KC-4



BICa5105 du hast dich doch beschwert das das KC85 Thema im Bic Thread nichts zu suchen hat..
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
026
09.11.2023, 08:11 Uhr
Bert




Zitat:
Dirk mit KC-4 schrieb
Kann man den Assembler-Code der sich bei diesen Aufrufen dahinter versteckt sichtbar machen um zumindest an diesen Assembler Quellcode zu kommen? Gibts da Programme für den KC85, Deassembler oder so?


Natürlich! Beim KC85/5 ist EDAS/TEMO integriert, beim KC85/4 braucht man das Zusatzmodul M027 Development:
http://www.mpm-kc85.de/html/m027_entwicklung.htm

Oder man lädt sich den EDAS/TEMO von Kassette nach.

Oder ganz komfortabel: Man nutzt den jkcemu mit seinem ausgezeichneten Debugger/Disassembler.

Für die vielen Möglichkeiten und die Programmbedienung sollte man das Systemhandbuch verinnerlichen:
http://kc85.info/index.php/download-topmenu/viewdownload/35-handbuecher/401-kc85-5-systemhandbuch.html

Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
027
09.11.2023, 08:15 Uhr
Dirk mit KC-4



Bert, das ist als wenn du mir jetzt erzählst hättest ja es gibt Autos und es gibt auch Werkstatthandbücher. Das ist sicher eine interessante Information, dass es Auto gibt. Die Information aber wie man ein Auto startet und gerade aus fährt wäre hilfreicher gewesen.. :-)
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
028
09.11.2023, 09:33 Uhr
BICa5105

Avatar von BICa5105


Zitat:
Dirk mit KC-4 schrieb
BICa5105 du hast dich doch beschwert das das KC85 Thema im Bic Thread nichts zu suchen hat..




Hat's ja auch nicht ;-)

Da soll es ja nur um neue Spiele für den BIC gehen.

Hier ist das Thema doch super aufgehoben.
--
https://www.youtube.com/@robotronA5105
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
029
09.11.2023, 11:07 Uhr
ralle



Thomas, ich habe es noch nicht Ausprobiert. Es ging mir in erster Linie darum, den Basi-Coder für den /4 raus zu suchen. Es gibt leider Leute, welche der Funktion der Suchmaschinen nicht bewusst sind.

Mir muss man nicht die Ente erklären, auch nicht, wo ich suchen muss.

Das Programm, werde ich mal schauen. Ich muss sowieso den Bic ins Wohnzimmer holen, weil Schlafzimmer ist bei mir grundsätzlich nicht geheizt. Das machen die unter mir recht gut. Den Reise-KC muss ich noch Upgraden, 2.Dezember ist in der FH Augsburg eine Veranstaltung. Da muss der Fit sein. Auch eine Gelegenheit, den Basic-Coder auf Lauffähigkeit zu testen.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700

Dieser Beitrag wurde am 09.11.2023 um 11:08 Uhr von ralle editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
030
09.11.2023, 11:20 Uhr
ThomasR

Avatar von ThomasR

Berichte mir gern über den Erfolg oder Misserfolg, einen realen BIC habe ich leider nicht und die KCs sind auch nicht ständig aufgebaut.

Viel Spaß in Augsburg!
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 09.11.2023 um 12:28 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
031
09.11.2023, 11:31 Uhr
ThomasR

Avatar von ThomasR

Hallo Dirk,

wie warst Du in Mathe? Ich war ganz gut und möchte Dir ein Beispiel nennen:

2 hoch 4 = 16
4 hoch 2 = 16

2 hoch 4 = 4 hoch 2

An dieser Stelle verallgemeinerst Du

a hoch b = b hoch a

mit anderen Worten, bei der Potenzierung sind Basis und Exponent austauschbar, das Ergebnis bleibt gleich.

das erste Gegenbeispiel widerlegt Deine These:

2 hoch 3 = 8
3 hoch 2 = 9
also 2 hoch 3 <> 3 hoch 2

Du kennst von ein paar Computern Bascoder, bei denen die Basic-Zeilen unter 1000 beim LIST-Befehl viele schöne Zeilen mit einer ganzen Reihe "normaler" Basic-Befehle zeigen. Deine Schlussfolgerung daraus ist: jeder Bascoder auf jedem Computer hat dieses Aussehen.

Ein einziges Gegenbeispiel sollte Dir zeigen, dass die These nicht stimmt. Ich könnte Dir weitere Computer nennen, aber wie gesagt reicht ein Gegenbeispiel. Ich muß nicht hunderte weitere Buchseiten abfotografieren.

Ich hätte es selbst gern bequemer und verstehe daher, was Dein Anliegen ist. Doch die Realität ist, dass man sich in manche Bascoder erst etwas mühsamer hineinfuchsen muss. Die Mühe lohnt sich: BasiCode ist eine revolutionäre Idee, die Leute bei der NOS Hilversum haben die vielen, vielen unterschiedlichen Heimcomputer unter einen Hut gebracht.

Doch die rasante Entwicklung zu immer besseren (?) Computern zog leider nach sich, dass BasiCode in Vergessenheit geriet. Nur wenige begeistern sich noch für das Programmieren auf den noch relativ leicht beherrschbaren Oldies - die Masse will doch auf nur auf der neuesten Playstation, Wii und so weiter daddeln.

Damals hatten die Hobbyisten keinen IBM-Kompatiblen auf dem Tisch stehen und konnten nicht Programmteile mit Mausklicks zusammenführen. Die Diskettenausrüstung hat noch einmal das gleiche Geld gekostet wie schon der (damals teure) Heimcomputer, zu dem man, um sinnvoll arbeiten zu können, schon teuer RAM nachgekauft hatte. Das normale Massenspeichermedium war die Kassette.

Nun bekamen alle Computer das identische Aufzeichnungsformat angeboten. Das ist zu zeitkritisch, als mit einem Basic-Interpreter gelöst werden zu können, deswegen ist überall Maschinencode dabei.

Bei manchen Computern sind die Bascoder-Unterprogramme mit dem vorhandenen Basic umgesetzt, bei manchen ebenfalls mit Maschinencode. Wichtig ist doch, dass es am Ende funktioniert.

Das komplette Programm als ASCII oder in Token abzuspeichern, ist für den eigenen Computer kein Problem und auch bequemer, da bin ich bei Dir. Doch diese Speicherung ist nicht auf einem Computer eines anderen Herstellers nutzbar, nicht einmal die ASCII-Aufzeichnung, denn der andere Computer hat im Bascoder-Teil bestimmt ein paar andere Befehle oder eine andere Parameter-Reihenfolge eines bestimmten Befehls usw.

Das ist der geniale Kniff von BasiCode: es wird nur das Programm ab Zeile 1000 übertragen - und zwar als ASCII, denn die Token wären auf anderen Computern anders, ASCII verstehen alle, wenn auch Sinclair, Commodore und 8-bit-Atari gewisse Abweichungen haben - aber auch das haben die findigen Niederländer gelöst. Und für dieses Übertragen gibt es dieses vereinheitlichte Kassettenformat, eine Atari-Kassette ist für einen Commodore nutzloser Kram.

Ich gebe zu, heute ist die Kassettenjongliererei nur für wirkliche Puristen zumutbar und ich selbst habe mich nach Möglichkeit immer darum gedrückt. Es gibt andere Möglichkeiten zur Übertragung von ASCII-Dateien: serielle Kopplung, Datenfernübertragung, Disketten, später SD-Karten, USB-Sticks usw. bis hin zu einem winzigen WLAN-Modul, an den das Smartphone die Programme sendet. Gerade im KC-Club wird die Hardware kontinuierlich weiterentwickelt, auch von anderen Computer-Oldies ist dergleichen zu hören. Deswegen habe ich mich immer nur um die GOSUB-Routinen gekümmert, wenn ich z.B. BC2-Bascoder zu BC3-Bascodern erweitert habe oder BC3-Bascoder zu BC3C. Die Kassettengeschichten habe ich für mich ausgeblendet.

Über Dein Listing-Thema werde ich nicht weiter mitdiskutieren, zu allem anderen betreffs BasiCode stehe ich Dir gern weiter im Rahmen meiner Erfahrung zur Verfügung.

Ich bin aber eigentlich froh, dass diese Diskussion entstanden ist - so ist wenigstens hier im Forum wieder ein paar Leuten das Thema in Erinnerung, die ich seit 30 Jahren bemüht bin wachzuhalten, gerufen worden.

Ursprünglich wolltest Du ja das Spiel zum Laufen bekommen. Ich habe Dir ein Paket https://1fichier.com/?g4zish6bfzuu5amwc3ry hochgeladen, das Dich dem Ziel näher bringen soll.

Es enthält die beiden Komplettprogramme für den KC 85/3 und /4.

Hier ist die Handhabung (ich gehe einmal davon aus, dass Du basicode@dfend nutzt):


Quellcode:
- Zuerst kopierst Du die beiden .KCB-Programme in das Verzeichnis basicode@dfend\VirtualHD\SPIELE.

Wahrscheinlich wird FL sagen, das Spiel läßt sich auch korrekt in die Datenbank integrieren, aber damit habe ich mich noch nicht befasst und beschreibe hier den etwas unsauberen Weg, sorry.

- Dann startest Du DFend.exe.

- Nun machst Du einen Doppelklick auf ein beliebiges Programm für KC (nicht für PC).

- Mit ALT+F4 wechselst Du in das Menü für die Einstellungen.

- Hier wählst Du Deinen gewünschten Computer (KC85/3 oder /4).

- Du wählst Resetsignal : ON und

- Fileanpassung: LOAD   (wichtig!).

- Mit der RETURN-Taste wechselst Du wieder zur Emulation, der KC begrüßt Dich mit dem CAOS-Menü.

- Du lässt BASIC ausführen und bestätigst die Speichergröße mit RETURN.

- Im Basic-Menü springst Du mit BYE zurück ins CAOS-Menü

- Du gibst LOAD ein und wählst im nun erscheinenden Fenster, nachdem Du Dich in das Verzeichnis SPIELE gehangelt hast, MAZEZAM3.KCB bzw. MAZEZAM4.KCB, RETURN.

- Nach dem Laden siehst Du erst den Bascoder und dann das Spiel starten.

- Das Spiel kannst Du mit "Q" oder "q" beenden (wenn Du schon in einem Level und nicht mehr im Anfangs-Screen bist, zweimal "Q" oder "q"). Ebenso kannst Du auch CTRL+C benutzen.

- Mit * erscheint wieder der BasiCode-Startbildschirm.



In einem Stück laden und sofort spielbereit, das ist doch fast, was Du Dir vorgestellt hast? Das Hin- und Her zwischen CAOS- und Basic-Menü kann ich nicht ändern.

Ich wünsche Dir weiter viele Erkenntnisse zu diesem faszinierenden Thema und viele Erfolge damit! Und wenn man sich mal verbissen hat und nicht weiterkommt, einfach mal einen Tag oder eine Woche liegen lassen und nicht die Nacht zum Tag machen, dann stellen sich von allein Geistesblitze zu neuen Ansätzen ein. Die Farb-Erweiterung zum CPC-Bascoder habe ich hauptsächlich im Fahrradsattel auf ganztägigen Ausflügen konzipiert.
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 09.11.2023 um 13:09 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
032
09.11.2023, 13:57 Uhr
Dirk mit KC-4



Thomas du bist schwierig, ich sortiere mal


Zitat:
wie warst Du in Mathe?



Hochschule


Zitat:
BasiCode ist eine revolutionäre Idee, die Leute bei der NOS Hilversum haben die vielen, vielen unterschiedlichen Heimcomputer unter einen Hut gebracht.
Das ist der geniale Kniff von BasiCode: es wird nur das Programm ab Zeile 1000 übertragen


das habe ich alles längst verstanden, ich schriebs auch in posting#2


Zitat:
- Dann startest Du DFend.exe.


für mich uninteressantes Programm. Ich habs mir in der besagten Nacht angeschaut und aus den Ordner der dabei lag die Basicom Programme 'ausgeschlachtet'.
Das Programm selber DFend, das mit dem KC85emu-Programm AUF DEM PC funktioniert brauch ich wirklich nicht.


Zitat:
In einem Stück laden und sofort spielbereit, das ist doch fast, was Du Dir vorgestellt hast?



Es geht mir um den reinen Basiccode des GANZEN ZUSAMMENGESETZTEN Programms um die Basicprogramme dann gezielt abzuändern, zu erweitern, andere Basicstücke einzufügen usw.

Mir gehts hier nicht um Anwendung dieser bestehenden basicom Programme


Zitat:
Deine Schlussfolgerung daraus ist: jeder Bascoder auf jedem Computer hat dieses Aussehen.
Ein einziges Gegenbeispiel sollte Dir zeigen, dass die These nicht stimmt.



Ich komm nicht ganz mit was du mit Thesen hast. Basicom läuft auf den ganzen Computern weil die Basic Zeilen (ich betone Basic) 1-999 für den jeweiligen Computer zugeschnitten sind. Bsp. Während eines Basicprogramms soll das Programm eine Datei öffnen, beispielweise um da ein Spielspeicherstand oder wegen mir eine Datenbank einzulesen. Da jede Basic-Version der ganzen Computer die es damals gab zum Dateiöffnen einen anderen Befehl hatte schrieb man einfach in Bascom Gosub 500, übergab dann noch den Dateinamen als NF$. Im computerspezifische Basic-Code (von Zeile 1-999) stand nun an Zeile 500 die speziellen Basic-Befehle des benutzen Computers um diese Datei mit dem Dateinamen NF$ zu öffnen. Das ganze lief auf allen Computern (bis auf dem KC85) in Basic ab. Die beiden Helden der Arbeit Zierott&Wenzel haben sich gedacht schreiben wir mal einen Programm auf dem KC85 rund rum, das erleichtert ja das 'ständige' laden der Basicom Zeilen 1-999. Das mag damals so gewesen sein. Ich schrieb oben, heute kann man die beiden Textstücke, einmal 1-999, und einmal ab 1000, leicht mit einem Texteditor auf dem PC zusammenfügen, dort bearbeiten und das fertige dann in den KC85 /3/4 einladen. Das Programm von Zierott&Wenzel sehe ich heute als komplett überflüssig, ja sogar umständlich an.
Natürlich haben Zierott&Wenzel die Zeilenordnung beibehalten, bei denen steht in Zeile 500 CALL*14D4:RETURN, dahinter wird immer noch das öffnen einer Datei stehen mit dem Dateinamen NF$. Ob das in Assembler jetzt schneller erfolgt spielt im Grunde keine Wurst.

Aber um es noch mal deutlich zu sagen, was keine These von mir: die Holländer haben basicom entwickelt um mit BASIC die ganzen unterschiedlichen Computer der 80er zusammenzubringen. Das hieß nicht ASSEMBLEROM, sondern BASICOM.

Aber als Abschluss, meine Hoffnung bleib das jemand, lange vor 1990 (und dem Programm von Zierott&Wenzel) Basicom auf dem KC 85 /3/4 benutzt hat (also noch zu DDR Zeiten), und dann entsprechend die Funktionen der Zeile 1-999 als Basicprogramm für den KC85 umgesetzt hat.

Und das es keinen anderen Computer gab wo diese Zeilen 1-999 nicht in Basic sondern in Assembler umgesetzt wurden steht ja wohl außer Frage, das ist auch keine These. Oder kennst du einen anderen Computer (außer den KC85) wo es auch in Assembler umgesetzt wurde?

etwas noch, was mir auffiel :
Cu via komputilo povas Esperanto?
Sed mi, mia Esperanto estas malbona, mi ne parolas Esperanton ekde la universitato.
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer

Dieser Beitrag wurde am 09.11.2023 um 15:29 Uhr von Dirk mit KC-4 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
033
09.11.2023, 16:31 Uhr
ThomasR

Avatar von ThomasR


Zitat:
Dirk mit KC-4 schrieb
Thomas du bist schwierig, ich sortiere mal
(...)



Ich würde meinen, den Wettbewerb gewinnst Du.
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 09.11.2023 um 16:45 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
034
09.11.2023, 16:33 Uhr
ThomasR

Avatar von ThomasR


Zitat:
(...) für mich uninteressantes Programm. (...)
Das Programm selber DFend, das mit dem KC85emu-Programm AUF DEM PC funktioniert brauch ich wirklich nicht. (...)



Man kann nicht behaupten, dass es Dir an Selbstbewusstsein mangelt
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 09.11.2023 um 16:45 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
035
09.11.2023, 16:37 Uhr
ThomasR

Avatar von ThomasR


Zitat:
(...) Es geht mir um den reinen Basiccode des GANZEN ZUSAMMENGESETZTEN Programms um die Basicprogramme dann gezielt abzuändern, zu erweitern, andere Basicstücke einzufügen usw. (...)



Hier liefere ich Dir den Grundstock für Dein epochales Werk, das die Welt umkrempeln wird und an dem andere sich erfolglos die Zähne ausgebissen haben. In ASCII-Form, damit Du sofort mit Editieren loslegen kannst, lauffähig auf KC 85/3 und /4. Fünf GOSUBs und zwei GOTOs habe ich Dir schon mal vorbereitet, viel Erfolg beim Rest!


Quellcode:

1 REM *** MINIMAL-BASCODER FUER EIN BC2-SPIEL ***                      
10 GOTO 1000
20 GOTO 1010
100 CLS:RETURN
110 LOCATE VE,HO:RETURN
200 IN$=INKEY$:IN=ASC(IN$+CHR$(0)):IN=IN+32*(IN>96)-20*((IN>7) AND (IN<12))
201 RETURN
210 GOSUB 200:IF IN$="" THEN 210
211 RETURN
250 PRINT CHR$(7);:RETURN
950 GOSUB 100:END
1000 A=194:GOTO 20:REM *** MAZEZAM ***
1010 DIM R$(11):DIM Y(11):HO=14:VE=14
1310 REM HO=HO+1:R=HO:GOSUB 110:GOSUB 120:IF R=HO THEN 1310
1610 REM VE=VE+1:S=VE:GOSUB 110:GOSUB 120:IF VE=S THEN 1610
1620 R=40:S=32
1910 GOSUB 100:VE=6:HO=(R-7)/2:GOSUB 110:PRINT"MazezaM":VE=S-6
1920 HO=0:GOSUB 110:PRINT" MOVE ijkl":PRINT"RETRY r"
1930 PRINT" SKIP s":PRINT" QUIT q":GOSUB 210
1940 IF IN<>81 THEN 1960
1950 GOTO 950
1960 RESTORE:Z=0:N$="":T=0
2210 GOSUB 250:T=T+1:IF T=31 THEN 1910
2220 GOSUB 4910:N=W:GOSUB 4910:M=W:GOSUB 4910:P=W:GOSUB 4910:Q=W
2230 F=0:FOR C=0 TO N-1:R$(C)="":Y(C)=0:FOR D=0 TO M-1:A$="="
2240 IF F=0 THEN GOSUB 4910:F=6
2250 F=F-1:G=INT(W/2)*2:IF W=G THEN A$=" "
2260 R$(C)=R$(C)+A$:W=G/2:NEXT D:NEXT C:U=INT((R-M)/2)
2270 V=INT((S-N)/2)
2510 GOSUB 100
2810 VE=V-1:HO=U-1:W=P:X=0:GOSUB 4610:FOR I=0 TO N-1:Y(I)=0
2820 VE=VE+1:GOSUB 110:A$="#":B$=A$:IF I=P THEN A$=">"
2830 IF I=Q THEN B$=">"
2840 PRINT A$;:GOSUB 4010:PRINT B$:NEXT I:VE=VE+1:GOSUB 4610
2850 HO=HO+1
3110 GOSUB 210:D=W:E=X:IF (IN=73 OR IN=31) AND W>0 THEN D=W-1
3120 IF (IN=75 OR IN=30) AND W<N-1 THEN D=W+1
3130 IF (IN=74 OR IN=28) AND X>0 THEN E=X-1:F=1
3140 IF (IN=76 OR IN=29) AND X<M-1 THEN E=X+1:F=M
3150 IF (IN=76 OR IN=29) AND W=Q AND X=M-1 OR IN=83 THEN 2210
3160 IF IN=81 THEN 1910
3170 IF IN=82 THEN 2810
3180 I=D:GOSUB 4310
3190 IF MID$(J$,E+1,1)=" " THEN I=W:W=D:X=E:GOSUB 3710:GOTO 3410
3200 IF X<>E AND MID$(J$,F,1)=" " THEN Y(W)=Y(W)+E-X:X=E
3410 I=W:GOSUB 3710:GOTO 3110
3710 VE=V+I:GOSUB 110
4010 GOSUB 4310:IF I<>W THEN PRINT J$;:RETURN
4020 IF X>0 THEN PRINT LEFT$(J$,X);
4030 PRINT "@";:IF X<M-1 THEN PRINT RIGHT$(J$,M-X-1);
4040 REM B$="#":IF I=Q THEN B$=">"
4050 REM PRINT B$
4060 RETURN
4310 IF Y(I)=0 THEN J$=R$(I):RETURN
4320 IF Y(I)>0 THEN B=Y(I):C=M-B
4330 IF Y(I)<0 THEN C=-Y(I):B=M-C
4340 J$=RIGHT$(R$(I),B)+LEFT$(R$(I),C):RETURN
4610 GOSUB 110:PRINT LEFT$("#################",M+2):RETURN
4910 Z=Z+1:IF Z=LEN(N$)+1 THEN READ N$:Z=1
4920 B=ASC(MID$(N$,Z,1)):A=ASC("A"):G=ASC("a"):H=ASC("0")
4930 W=63:IF B>=A AND B<A+26 THEN W=B-A
4940 IF B>=G AND B<G+26 THEN W=B-G+26
4950 IF B>=H AND B<H+10 THEN W=B-H+52
4960 IF B=ASC("+") THEN W=62
4970 RETURN
25000 DATA "CFBAKBCHABykADHABmVZBDICBkTlKEFDDCtSCEHADq6oWCFHAE"
25010 DATA "cpQvKJDICCFQtdEHBCUspqDEOBD/2gZ20O4fCEHBB2UpDDGNAA"
25020 DATA "4D6zp7p8nLmqJFGDBCmW6EEICDcwOXKAGGAFUVUNN0EKACsy1Y"
25030 DATA "q7CEHADWk2hELFKAEtpocFlqJAEHCDKsRVOEPCAeeWbNavRzTF"
25040 DATA "ICC1sGq9gCELACuBzaerBAFIDBkjpuqJNEJDAiYP3QBHJGCyTa"
25050 DATA "6tJE3PEAGHAAy08CdPAKNHAAg8f6AT+l7MFZ63Ux5+DAAHJBEy"
25060 DATA "wq1w+0rJ6AKLAJAg+39oWA9/GuNYu+HAAHKAAaRdTF2OVZd0F"
30000 REM leicht abgeaendert Th. Rademacher JOYCE-User-AG e.V.
30010 REM Zeilen 4040 und 4050 fuer 8-bit-Atari aktivieren
32000 REM Autor: Malcohol (Malcolm Tyrrell) auf GitHub 202




Zitat:
(...) Oder kennst du einen anderen Computer (außer den KC85) wo es auch in Assembler umgesetzt wurde? (...)



Ein Foto sollst Du noch bekommen,



aber Deine Antwort kann ich mir schon denken: Lügenpresse, Commodore 64 ist nicht repräsentativ, weil er ein Nischencomputer war, von dem weltweit kein Dutzend Exemplare mehr existiert, vanDelen hat bei den Zierotts und dem Wenzel (es sind drei Helden der Arbeit) abgeschrieben ...
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 09.11.2023 um 18:53 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
036
09.11.2023, 17:04 Uhr
Dirk mit KC-4



Thomas, hab ich je was von Lügenpresse geschrieben?

BasicodeLoader für den C64 hab ich übrigens auch in besagter Nacht gefunden, ich hatte alles was ich fand in einen neuen Ordner gestopft und dann nach und nach die reinen Basicode Programme da rausgezogen. Ich hab die Reste in dem Ordner noch nicht gelöscht, der BasicodeLoader für den C64 war noch drin, hier:



Dein Listing oben drüber, kreativ:

1 REM *** MINIMAL-BASCODER FUER EIN BC2-SPIEL ***
10 GOTO 1000
20 GOTO 1010
100 CLS:RETURN
110 LOCATE VE,HO:RETURN
200 IN$=INKEY$:IN=ASC(IN$+CHR$(0)):IN=IN+32*(IN>96)-20*((IN>7) AND (IN<12))
201 RETURN
210 GOSUB 200:IF IN$="" THEN 210
211 RETURN
250 PRINT CHR$(7);:RETURN
950 GOSUB 100:END

haste aber Glück das kein GOSUB 500 in dem Maze-Spiel auftaucht.. sorry etwas Humor muss sein :-)
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer

Dieser Beitrag wurde am 09.11.2023 um 17:09 Uhr von Dirk mit KC-4 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
037
09.11.2023, 17:07 Uhr
MiRa



@Fallschirmspringer: Da gibt sich jemand wirklich viel Mühe, dir zu erklären, was wie funktioniert.

Wenn es nicht in deine Welt passt, dass sich bestimmte Dinge mit Basic nicht ausdrücken lassen und deshalb Assembler zum Einsatz kommt, dann kann es dir keiner erklären. Selbst in deinem Beispiel zum C64 wird Maschinencode aufgerufen.

Dieser Beitrag wurde am 09.11.2023 um 17:09 Uhr von MiRa editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
038
09.11.2023, 17:13 Uhr
Dirk mit KC-4



Fallschirmspringer sind Zivilisten die bei schönen Wetter springen, Fallschirmjäger sind Soldaten und springen bei Wind und Wetter, vollgepackt mit Ausrüstung und Waffen und wenn es sein muss direkt über den Feind ab, und selbst wenn jeder dabei drauf geht..

Wenn es nicht in deine Welt passt..

Wenn alles mal so einfach wäre. aber lasst gut, es war ein netter Ausflug zu Basic Programmierung, naja, leider nicht auf dem KC85..
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer

Dieser Beitrag wurde am 09.11.2023 um 17:13 Uhr von Dirk mit KC-4 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
039
09.11.2023, 17:56 Uhr
maleuma




Zitat:
Dirk mit KC-4 schrieb in 023
... Kann man den Assembler-Code der sich bei diesen Aufrufen dahinter versteckt sichtbar machen um zumindest an diesen Assembler Quellcode zu kommen? Gibts da Programme für den KC85, Deassembler oder so?


Leider habe ich bis heute den originalen Assembler-Quellcode der KC85-Bascoder noch nicht finden können.
Deswegen habe ich im Frühjahr dieses Jahr mithilfe des in CAOS enthaltenen Reassemblers QMR den BAC854C reassembliert. Die eigentliche Arbeit, den Quellcode zu kommentieren und zu verstehen ist dagegen sehr aufwändig. Ganz verstanden habe ich alle Programmstellen und Speicherzellen immer noch nicht, deshalb werde ich den halbfertigen Quelltext auch (noch) nicht veröffentlichen. Mein Ziel ist es, den Bascoder so anzupassen, dass er auch mit den neuesten Erweiterungen vom KC85 läuft. Die Arbeitszellen des Bascoders kollidieren leider mit dem USB-Interrupt des M052.

Der Assemblercode nützt Dir aber bei dem Vorhaben, das komplett mit BASIC-Befehlen umzusetzen, sowieso nicht weiter. In den Maschinencode-Unterprogrammen sind jedenfalls Funktionen enthalten, die sich mit den beim KC85 zur Verfügung stehenden BASIC-Befehlen nicht umsetzen lassen.

Hat jemand noch Kontakt zu den Zierotts?
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
040
09.11.2023, 18:15 Uhr
maleuma




Zitat:
ThomasR schrieb
Ursprünglich wolltest Du ja das Spiel zum Laufen bekommen. Ich habe Dir ein Paket https://1fichier.com/?g4zish6bfzuu5amwc3ry hochgeladen, das Dich dem Ziel näher bringen soll.


Danke
Ich habe das gerade einmal am JKCEMU mit CAOS 4.8 ausprobiert und gleich eine Runde gespielt.

Voraussetzung:
- KC85/5-Emulation mit CAOS 4.8 und M052
- BAS854C.SSS liegt auf dem USB-Laufwerk
- MAZEZAM.BAC umbenennen in MAZEZAM.UUU und ebenfalls in das USB-Laufwerk ablegen

Vorgehensweise:
%BASIC
CLOAD"BAC854C"
LOAD#1"MAZEZAM"
RUN
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
041
09.11.2023, 18:23 Uhr
ThomasR

Avatar von ThomasR

Na, da war ja die Arbeit nicht ganz für die Katz'. Der omnipotente Fallschirmjäger und Computerbeherrscher hat wohl schon wieder das Handtuch geworfen:


Zitat:
(...) es war ein netter Ausflug zu Basic Programmierung, naja, leider nicht auf dem KC85. (...)



Ich wünsche Dir Erfolg bei dem davor genannten Projekt. Das könnte dem "Esperanto" einen schönen Schub geben.

Ich habe (vor meiner Computerzeit) mit Herrn Wenzel (der die Farberweiterung beisteuerte) im selben Haus gewohnt, ohne mit ihm mehr als einen Gruß zu wechseln. Heute wohne ich nur ein paar Straßen weiter, er immer noch dort.

Ich hatte ihm mal eine Karte in den Briefkasten gesteckt, ob er noch dieses Hobby betreibt, aber die blieb leider ohne Antwort.
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 09.11.2023 um 18:52 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
042
09.11.2023, 19:50 Uhr
Dirk mit KC-4




Zitat:
Ich hatte ihm mal eine Karte in den Briefkasten gesteckt, ob er noch dieses Hobby betreibt, aber die blieb leider ohne Antwort.


Probiers doch mal mit Nachmittags klingeln?! und eine Flasche Goldi mitbringen und gemeinsam leeren :-) so würde ich das als omnipotenter Fallschirmjäger machen
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer

Dieser Beitrag wurde am 09.11.2023 um 19:52 Uhr von Dirk mit KC-4 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
043
09.11.2023, 20:09 Uhr
ThomasR

Avatar von ThomasR

Dann bist Du sicher weniger introvertiert und magengeschädigt als ich. Den Goldi müsste er fast alleine trinken und würde noch mehr von den KC85-Sachen vergessen.

Übrigens, ein kompletter 2er-Bascoder sollte mit nur-Basic-Befehlen unproblematisch hinzubekommen sein. Wäre sogar lohnenswert, viele Programme sind ja 2er, weil es neben dem 3er wie schon erwähnt weiter betrieben wurde. Dateiarbeitsroutinen auch, aber viele Dinge des 3er Standards eben nicht für uns normale Sterbliche.
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 09.11.2023 um 20:11 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
044
09.11.2023, 20:21 Uhr
Dirk mit KC-4



Thomas dann nimm ne Flasche Likör wenn du die besser verträgst und schlag dann da Nachmittags auf, oder besorg ein paar Kuchenteilchen und Schlagsahne oder ne Tüte frische Berliner (ist vielleicht sogar besser als der Kuchen) das geht ja auch Nachmittags, so die Zeit nach dem Mittagsschlaf. Klingel und halt die Flasche hoch (oder die Kuchenteilchen oder beides) und frag ob er Lust auf ein Pläuschchen über Computer hat, dann wird er bestimmt nicht nein sagen (oder wenn er nicht bei sich will schlag vor draußen ne Runde spazieren gehen und die Berliner draußen auf ner Parkbank essen und über Computer quatschen) - und dann berichte hier.

Und introvertiert hin oder her, denk mal zurück als wir alle Kinder waren. Wäre dort jemand zum spielen gewesen, nur ein paar Häuser weiter, hätten wir als Kinder dort einfach geklingelt. Was als Kind doch so einfach war, warum soll das als Erwachsener nicht mehr gehen? Außerdem, vielleicht hast du Glück und er hat noch einen alten KC85 aufgebaut und macht ab und zu was dran, dann hättest du in unmittelbarer Nachbarschaft vielleicht jemanden zum gelegenlichen Treffen, Computerthemen, das alte Lied also..
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer

Dieser Beitrag wurde am 09.11.2023 um 20:33 Uhr von Dirk mit KC-4 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
045
09.11.2023, 20:27 Uhr
Dirk mit KC-4




Zitat:
Übrigens, ein kompletter 2er-Bascoder sollte mit nur-Basic-Befehlen unproblematisch hinzubekommen sein.



beim suchen hatte ich das gefunden:
http://www.robotron-net.de/Service/bac_downl.html

leider ist der download deaktiviert, kennt jemand den Seitenbetreiber oder hat die Software die dort beschrieben ist?
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
046
09.11.2023, 21:28 Uhr
FL



ThomasR, danke für die kurze Beschreibung zu Basicode@DFend. (#031)

Es geht noch einfacher:

Quellcode:
- Das gewünschte Basicode-Programm in das Verzeichnis basicode@dfend\VirtualHD\SPIELE kopieren oder die hier
   geposteten Basicode-Programme mittels Editor dort unter einem beliebigen Namen speichern
   (ohne das ganze Gedöns bis Zeile 999).
- DFend.exe starten
- Dort mit Doppelklick ein beliebiges Programm für den KC auswählen. Am besten Programm "81 - KC85EMU"
- ALT+T drücken
- Im Dateifenster in das Verzeichnis SPIELE hangeln und die Datei heraussuchen.
- RETURN drücken.

=> fertig! Um den gesamten Rest kümmert sich der Emulator.
  (Kaltstart des emulierten KC's, Bascoder laden, Basicode-Programm hinzufügen und übersetzen,
   und zuletzt Programm ausführen)

In die Einstellungen (ALT+X) muß man nur, wenn man den KC-Typ ändern, oder zwischen Farb-Bascoder und S/W-Bascoder wechseln will.



Zitat:
ThomasR schrieb
Wahrscheinlich wird FL sagen, das Spiel läßt sich auch korrekt in die Datenbank integrieren, aber damit habe ich mich noch nicht befasst und beschreibe hier den etwas unsauberen Weg, sorry.


Wieso unsauber?
Hier die Anleitung zu unseren KC85@DFend-Projekten: KC85@DFend.pdf
Siehe "5.Benutzung beliebiger eigener KC85-Programme mit KC85@DFend"
(Zugegeben, die Anleitung müßten wir mal aktualisieren )

Gruß
Frank.

Dieser Beitrag wurde am 09.11.2023 um 21:31 Uhr von FL editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
047
09.11.2023, 22:01 Uhr
ThomasR

Avatar von ThomasR


Zitat:
FL schrieb(...)
Wieso unsauber? (...)



So gründlich hatte ich das nicht gelesen - dann ist mein Weg ja doch sauber.

Ich dachte, man soll zwingend über den Profileditor (mir war aufgefallen, dass meine Zusätze nicht in dem Fenster erschienen, das nach dem Doppelklick auf die exe erscheint, ich war zufrieden, sie im Datei-laden-Menü in ihrem Unterverzeichnis [SPIELE oder was auch immer] zu finden).


Zitat:

Quellcode:
(...)
- ALT+T drücken
- Im Dateifenster in das Verzeichnis SPIELE hangeln und die Datei heraussuchen.
- RETURN drücken.

=> fertig! Um den gesamten Rest kümmert sich der Emulator.
  (Kaltstart des emulierten KC's, Bascoder laden, Basicode-Programm hinzufügen und übersetzen,
   und zuletzt Programm ausführen)




Also, ich finde es schon bequem und nicht


Zitat:
umständlich.



Wieder was gelernt.

Übrigens, was Dirk vorschwebt, nur die wirklich erforderlichen Unterroutinen einzubinden (also wie Bibliotheken in Turbo-Pascal und DLLs in MS Windows), das machen MSX-Computer und der BIC so. Dort müsste er es nicht einmal von Hand machen.




(niederländischer MSX-Bascoder und BIC-Bascoder)

Den A5105 finde ich sehr beeindruckend.
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 09.11.2023 um 22:34 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
048
10.11.2023, 06:58 Uhr
BICa5105

Avatar von BICa5105


Zitat:
ThomasR schrieb
Den A5105 finde ich sehr beeindruckend.




Ist er auch ! :-)
Von der Funktionalität und dem Aufbau her, meiner Meinung nach, der modernste - DDR 8 Bit Rechner den es gab.

Im Basicode Menu wäre schön wenn man wüsste, was für eine Taste man für welche Funktion drücken muss.... . Aber gut... das kann man ja notfalls in der Anleitung nachsehen.

LG Cornelius
--
https://www.youtube.com/@robotronA5105
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
049
10.11.2023, 07:30 Uhr
ThomasR

Avatar von ThomasR

Das kann man, aber es wird ja jeweils (und sogar grafisch) angezeigt, die fett eingerahmten bzw. (niederländisch) invers dargestellten Kästchen und die Pfeile für den Weg des Datenstroms. Durch alle Buchstaben durchhangeln, bis man das Richtige hat und nach einer Weile kann man es sicher auswendig.

Ungünstig ist nur, das ESC und ENTER in der BIC-Version im Vergleich zur niederländischen genau andersherum belegt sind.
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
050
10.11.2023, 07:44 Uhr
Dirk mit KC-4




Zitat:
Von der Funktionalität und dem Aufbau her, meiner Meinung nach, der modernste - DDR 8 Bit Rechner den es gab.



Obwohl das Thema des BIC ja nicht hier her gehört und ausgelagert werden sollte.. *lach*, Spaß :-))

aber war er wirklich der modernste?
War der KC compact nicht fortschriftlicher?
a5105 mit U880 und 3,75 MHz, 64KB
KC compact mit U880 und 4 MHz, 64KB, ausbaufähig bis 128KB, Erweiterungsmöglichkeit für IDE Festplattenanschluss

ich hab leider keinen KC compact, auch keinen BIC kann also nicht praktisch vergleichen..
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer

Dieser Beitrag wurde am 10.11.2023 um 07:44 Uhr von Dirk mit KC-4 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
051
10.11.2023, 08:05 Uhr
ThomasR

Avatar von ThomasR

Der Thread heißt Handhabung des Bascoders und um die Bedienung des BIC- und MSX-Bascoders ging es ja, nicht um die Hardware.

Du kannst hier auch nachfragen, wie es auf dem Atari oder sonstwelchem gemacht wird.

Äpfel und Birnen muss man auch nicht vergleichen, bei solchen Bewertungen sollte man vom Anwendungszweck ausgehen.

Der BIC (Bildungscomputer) war für den Unterricht vorgesehen, der KCc (Produktpiraterie-Resultat des britischen Amstrad CPC) eher zum Spielen, fürs Büro gabs den PCW.

Der eine ist an MSX angelehnt (bestimmt keine Lizenz gezahlt), der andere echt ein nicht autorisierter Nachbau - damit Du nicht nachtreten musst.
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 10.11.2023 um 10:34 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
052
10.11.2023, 08:27 Uhr
Dirk mit KC-4




Zitat:
fürs Büro gabs den PCW.



aber den gab nicht als DDR-Nachbau? Und als Hauptgerät, ich denke seltene Verbreitung in der DDR, weil auch in der BRD schweineteuer.


Zitat:
der andere echt ein nicht legaler Nachbau



Ich würde mal sagen, dass fast alle (oder sogar alle?) Computer der DDR Nachbauten waren, mehr oder weniger. Selbst der KC85 da geht meine Vermutung stark in Richtung TRS-80 Model 1, den ich aber leider noch nie in den Fingern hatte, da die Verbreitung in der BRD selten war, und fast nur in den USA verkauft wurden.

Sieht übrigens so aus, die Ähnlichkeit zum KC85 wird bestimmt kein Zufall sein..


Die Entwickler der DDR werden solche und auch andere Computer bekommen haben, und dann wurde, mit den Mitteln die man hatte nachgebaut und dann aber neuere Modelle eigenständig entwickelt. Aber die Basis-Computer halte ich für vollständig geklaut..

Interessant ist in diesem Zusammen mit dem TRS-80 Model 1 diese Aussage:
"Mit Hilfe eines "Expansion Interface" ließ er sich um weitere 32 KB RAM, einen Diskettencontroller für bis zu vier 5,25"-Laufwerke sowie eine serielle und eine parallele Schnittstelle erweitern."
Ich vermute mal, rein in Blaue, dass diese Erweiterung auch beim KC85 funktioniert, also Anschluss von Diskettenlaufwerke ohne die D004device. Leider findet man dazu an Hardwarebeschreibung für den TRS-80 Model 1 fast gar nichts um diese Erweiterung mal nachzubauen.
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer

Dieser Beitrag wurde am 10.11.2023 um 08:29 Uhr von Dirk mit KC-4 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
053
10.11.2023, 08:55 Uhr
felge1966



Ahnungsloser...
Dann zeig mir mal die Ursprungsgeräte vom Z9001, Z1013, AC1, A5120, PC1715, MansfeldPC...
--
http://felgentreu.spdns.org/bilder/jacob120.gif
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
054
10.11.2023, 08:58 Uhr
Bert




Zitat:
Dirk mit KC-4 schrieb
Die Information aber wie man ein Auto startet und gerade aus fährt wäre hilfreicher gewesen.. :-)


Mag sein, und dafür geht man in die Fahrschule. Was Du hier aber machen willst, ist dem Auto einen neuen Motor (Bascoder) einzubauen und zwar einen, der so konstruiert ist, wie beim Rasenmäher (reines BASIC).
Den Motortausch (anderer Bascoder) kann ein KfZ-Mechaniker durchführen. Aber zur Konstruktion eines neuen Motors (neuer Bascoder) ist es hilfreich ein Maschinenbaustudium absolviert zu haben.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
055
10.11.2023, 09:09 Uhr
Dirk mit KC-4




Zitat:
Dann zeig mir mal die Ursprungsgeräte vom Z9001, Z1013, AC1, A5120, PC1715, MansfeldPC...



Klar glaub ich sofort, die Ideen und Prototypen dazu sind alle beim VEB Kombinat Robotron enstanden..
Aber lass, die Diskussion will ich hier nicht führen, ist ja nur eine Vermutung von mir und lass mich in meinem Glauben im Tal der Ahnungslosen :-)
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer

Dieser Beitrag wurde am 10.11.2023 um 09:17 Uhr von Dirk mit KC-4 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
056
10.11.2023, 09:14 Uhr
Rüdiger
Administrator



Zitat:
Dirk mit KC-4 schrieb
Klar glaub ich sofort, die Ideen und Prototypen dazu sind alle beim VEB Kombinat Robotron mit reichlich Goldi und Wodka enstanden..



Bei manchen von dem, was Du scheibst, kann mir echt schlecht werden...
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
057
10.11.2023, 09:18 Uhr
Dirk mit KC-4



ich habs editiert, ist jetzt besser?
--
Ich kann 2 Dinge wirklich nur gut, zum einen war es die Fallschirmjägerei und zum anderen Computer. Fragt man, was ich nun besser kann, würden einige sagen das eine, andere würden das andere sagen. Aber im Grunde ist beides gleich: ein großes Abenteuer
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
058
10.11.2023, 09:43 Uhr
BICa5105

Avatar von BICa5105

Ich will den Threat hier nicht kapern ;-)... .

Aber zum Thema Nachbauten.....
Es ist doch einfach so, dass irgendwann man jemand was entwickelt/erfunden hat. Dann kam eventuell ein Standard dabei heraus.
Und dann haben viele Firmen nach diesem Standard ihre Geräte gebaut/entwickelt/weiter entwickelt.
XT, AT, MSX etc. etc.
Das wird und wurde überall so gemacht. Auch die DDR hat es so gemacht.
Warum sollte man etwas komplett neu erfinden wenn es das schon gab ?!
Der BICA5105 ist ja in dem Sinne auch keine Kopie oder ein Nachbau. Er ist einfach ein Rechner, welcher sich am MSX Standard orientiert.
Da gab es ja unzählige Geräte weltweit damals.

Beim KC compact ...naja da ist es schon anders. Das ist wirklich ein Nachbau des CPC.
Aber ich denke es war einfach deshalb so, weil die Zeit davon lief und man schnell einen Nachfolger vom KC 85/4 brauchte der auch Richtung Westen hin kompatibler war.
Soweit ich das recherchieren konnte war es auch nie geplant das BIC Gehäuse dann noch für den KC zu nutzen. Das resultierte dann einfach daraus, da man die BIC Produktion schon aufgegeben hatte. Und Mühlhausen dann das Spritzguss Werkzeug für das Gehäuse bekommen hat.
Da hat man dann den KC compact "reingezimmert".

Und ja, der BICA5105 ist moderner als der KC compact. Beim BIC wurden ganz neue, andere Fertigungsverfahren der Platine eingesetzt als bisher bei DDR Rechnern. Da wurden erstmals Chips in SMD Bauweise verbaut...was bis dahin Neuland für die DDR war. ( U 1520 )
Man hat in einem "Spezialchip" mehrere Funktionen anderer Chips "reingepackt".
Wenn man sich die Platine ansieht, dann fällt einem gleich auf, dass sie anders aussieht als zb. die "grobschlächtige" des KC compact.

Den Speicher des BIC konnte man übrigens auch erweitern, sogar um 256K.
Der Video Speicher hatte 128KB !

LG Cornelius
--
https://www.youtube.com/@robotronA5105

Dieser Beitrag wurde am 10.11.2023 um 09:44 Uhr von BICa5105 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
059
10.11.2023, 10:00 Uhr
Rüdiger
Administrator



Zitat:
BICa5105 schrieb
Da wurden erstmals Chips in SMD Bauweise verbaut...



Wo hast Du denn diese Erkenntnis her?
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
060
10.11.2023, 10:40 Uhr
ThomasR

Avatar von ThomasR

off topic !


Zitat:
Dirk mit KC-4 schrieb


Zitat:
fürs Büro gabs den PCW.



aber den gab nicht als DDR-Nachbau? Und als Hauptgerät, ich denke seltene Verbreitung in der DDR, weil auch in der BRD schweineteuer.



Immerhin das ready-to-use-Komplettpaket billiger als der DOS-PC zur gleichen Zeit, für den erst Software erworben und installiert werden musste:

https://joyce.de/story/happy.htm


Quellcode:
(...) Die mitgelieferte Software ist sehr reichhaltig und leistungsfähig, die Hardware nahezu vollständig.

Der Joyce steht also für ein komplettes System, bei dem man in Anbetracht des Preises nur staunen kann.

Jedem, der nicht unbedingt den neuesten Stand der Technik, sprich 16/32 Bit, sein eigen nennen muß, wird der Joyce eine preiswerte Hilfe zur Erledigung seiner täglichen Arbeiten sein. Denn preiswert heißt noch lange nicht billig!


Jörg Höhnerbach

Happy Computer: Das Große Heimcomputer-Magazin

4. Schneider-Sonderheft / Juli 1986 ... Seite 22 ff


--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 10.11.2023 um 18:00 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
061
10.11.2023, 10:58 Uhr
ThomasR

Avatar von ThomasR


Zitat:
BICa5105 schrieb
Ich will den Threat hier nicht kapern ;-) (...)



Da sind wir ja jetzt quitt?

Könnten wir uns wieder auf technische und fachliche Themen fixieren, der Thread soll doch nicht auf der Trollwiese fortgeführt werden, oder?
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 10.11.2023 um 18:01 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
062
10.11.2023, 18:33 Uhr
Bert




Zitat:
Rüdiger schrieb

Zitat:
BICa5105 schrieb
Da wurden erstmals Chips in SMD Bauweise verbaut...


Wo hast Du denn diese Erkenntnis her?


Was gibt es denn noch für Großserien-Consumer-Elektronik aus der Zeit, wo ASICs und SMD zum Einsatz kommt?
Ich habe das beim BIC auch zum ersten Mal gesehen.

In Industrieelektronik hat man als Normalbürger üblicherweise keinen Einblick...

Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
063
11.11.2023, 11:46 Uhr
Rüdiger
Administrator



Zitat:
Bert schrieb
In Industrieelektronik hat man als Normalbürger üblicherweise keinen Einblick...



Was man nicht kennt, hat demzufolge nicht existiert?
Hier im Forum gibt es übrigens nicht nur "Normalbürger".
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
064
15.11.2023, 20:32 Uhr
ThomasR

Avatar von ThomasR

Mathematik und Musik

Leider bin ich nicht mit dem absoluten Gehör gesegnet - spielt mir zwei Töne vor und ich kann nicht sagen, wie weit sie auseinander liegen, ob es eine Terz oder eine Quinte ist. Vielleicht fehlt auch nur die Übung - ich habe mich dem Thema stattdessen von der mathematischen Seite genähert.

Ja, Musik und Mathematik hängen zusammen. Eine Oktave sind zwei Töne, von der einer die doppelte Frequenz des anderen hat. In BasiCode werden Töne als natürliche Zahlen kodiert und eine Oktave sind zwölf Einerschritte vorwärts oder rückwärts. Warum zwölf und nicht acht (Oktave)? Wegen der Halbtonschritte, eine Oktave umfasst zwölf Halbtonschritte in gleichmäßigen Abständen.

Nun braucht man nur noch einen Bezugspunkt, das ist gewöhnlich der Kammerton A' mit 440 Hz, und schon kann man ausknobeln, wie die Formel aussehen soll, die aus den Einserschritten Parameter für den SOUND-Befehl macht. Hier kommt man mit Addition von einem zum nächsten, dort mit Multiplikation. Wer noch bisschen Mathematik im Kopf behalten hat, ahnt schon, dass das was mit Potenzen bzw. Logarithmen zu tun haben müsste.



Ich zeige hier einmal aus dem Atari-ST-Bascoder den Programmausschnitt mit der Formel. Es ist nebenbei bemerkt eine Sache, wo das versehentliche Verwechseln von LN mit LOG einen Unterschied macht (welchen sogar ich höre - es klingt äußerst schräg). Allerdings könnte die Formel unter einem anderen Basic nicht stimmen - es kommt darauf an, ob auf dem betreffenden Computer der für die Tonhöhe (Variable SP in BasiCode) stehende Parameter des SOUND-Befehls auf der Frequenz oder die Periodendauer basiert.

FL schickte mir vorige Woche ein Programm mit der Zeile

150 S0=6888.62/2^(SP/12):S2=S0/4:S1=0:S3=0 .

Hier steht die Zweierpotenz im Nenner, also liegt wohl hier der gegenteilige Fall zum Atari-Beispiel vor.
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 15.11.2023 um 20:37 Uhr von ThomasR editiert.
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