Robotrontechnik-Forum

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

Robotrontechnik-Forum » Technische Diskussionen » BASIC-KC87 » Themenansicht

Autor Thread - Seiten: -1-
000
12.03.2008, 17:53 Uhr
Gast: Kingstener



Beim SD/MMC Projekt für den KC 87 bin ich auf ein Problem gestossen, es laufen alle Maschinenprogramme, aber nicht ein einziges BASIC-Programm ohne Fehler.
[img]link ungültig[/img]
Erst hatte ich vermutet, das sich ein Fehler bei der Programmübertragung eingeschlichen hat, aber das Listing ist vor dem Start immer einwandfrei.
Beim Testen selbiger Programme mit dem KCEMU musste ich entsetzt feststellen, dass genau die selben Fehler kommen...
[img]link ungültig[/img]
Ich starte bei beiden BASIC, gehe zurück zum OS, lade BASIC-Programm in den RAM, zurück mit WBASIC und gebe RUN ein.
Da ja nicht sämtliche Programme fehlerbehaftet sein können muss die Ursache wo anders liegen, wo muss ich da ansetzen???

Gruß

Dieser Beitrag wurde am 05.07.2008 um 15:20 Uhr von Kingstener editiert.
Seitenanfang Seitenende
(Gast) Zitatantwort || Editieren || Löschen
001
12.03.2008, 21:10 Uhr
robbi
Default Group and Edit
Avatar von robbi

Wenn ich mich recht erinnere, heißt UL = undefinierte Zeile.
Demnach müßte in Zeile 520 ein Sprung auf eine Zeile stehen, die es nicht gibt.
Ist das Urprogramm vollständig?
Wird bei der Übertragung aller Code übertragen oder etwas abgeschnitten?

Werden denn beim Laden auch die Systemzellen des BASICs (auf den Adressen 300H - 400H) mitgeladen? Sonst ist beim WBASIC doch noch der alte Bereich, in dem BASIC verlassen wurde, aktiv!
--
Schreib wie du quatschst, dann schreibst du schlecht.

Dieser Beitrag wurde am 12.03.2008 um 21:13 Uhr von robbi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
12.03.2008, 21:33 Uhr
kaiOr

Avatar von kaiOr


Zitat:
Werden denn beim Laden auch die Systemzellen des BASICs (auf den Adressen 300H - 400H) mitgeladen? Sonst ist beim WBASIC doch noch der alte Bereich, in dem BASIC verlassen wurde, aktiv!

Der Emu von H.Haftmann konnte das noch, der von T.Paul dagegen nicht. ;-)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
13.03.2008, 15:05 Uhr
Gast: Kingstener




Zitat:
robbi schrieb
Demnach müßte in Zeile 520 ein Sprung auf eine Zeile stehen, die es nicht gibt.
Ist das Urprogramm vollständig?
Wird bei der Übertragung aller Code übertragen oder etwas abgeschnitten?

Die Programme sind vollständig, wenn ich nach dem Laden das Listing ansehe, ist dies komplett, nach dem Startversuch ist es komplett zerstört

Zitat:
Werden denn beim Laden auch die Systemzellen des BASICs (auf den Adressen 300H - 400H) mitgeladen? Sonst ist beim WBASIC doch noch der alte Bereich, in dem BASIC verlassen wurde, aktiv!

Die Programme sind ab 0x401 abgespeichert( http://www.iee.et.tu-dresden.de/~kc-club/09/RUBRIK38.HTM ), ich hatte mich auf die Aussage verlassen, dass bei WBASIC das geladene Programm reorganisiert wird. Scheint aber so nicht zu funktionieren...
Seitenanfang Seitenende
(Gast) Zitatantwort || Editieren || Löschen
004
13.03.2008, 17:54 Uhr
susowa




Zitat:
Werden denn beim Laden auch die Systemzellen des BASICs (auf den Adressen 300H - 400H) mitgeladen? Sonst ist beim WBASIC doch noch der alte Bereich, in dem BASIC verlassen wurde, aktiv!


Zitat:
Die Programme sind ab 0x401 abgespeichert( http://www.iee.et.tu-dresden.de/~kc-club/09/RUBRIK38.HTM ), ich hatte mich auf die Aussage verlassen, dass bei WBASIC das geladene Programm reorganisiert wird. Scheint aber so nicht zu funktionieren...

Mit den *.SSS wird das nicht funktionieren, nur mit CLOAD ladbar, ist bei den anderen KC's ja auch so. Was gehen wird, sind die *.KCB auf

http://www.iee.et.tu-dresden.de/~kc-club/09/RUBRIK03.HTM

Dort ist der BASIC-Notizspeicher zusammen mit einem kleinen Autostartprogramm (REBASIC und RUN) schon drin - natürlich muss es der KC87 auch können. Diese Dateien wurden mit BSAVE.KCC erzeugt, welches die o.g. Sachen erledigt und alles als Speicherabzug (wie MC) ausgibt.

Dieser Beitrag wurde am 13.03.2008 um 17:54 Uhr von susowa editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
13.03.2008, 21:24 Uhr
Gast: Kingstener




Zitat:
Mit den *.SSS wird das nicht funktionieren, nur mit CLOAD ladbar

hmm, das ist dann natürlich weniger schön...
Seitenanfang Seitenende
(Gast) Zitatantwort || Editieren || Löschen
006
14.03.2008, 16:18 Uhr
Gast: Kingstener



irgendwo hatte ich mal das kommentierte Listing vom BASIC des Kc87 gesehen, aber finde es nicht mehr, hat jemand einen Richtungstipp??
Seitenanfang Seitenende
(Gast) Zitatantwort || Editieren || Löschen
007
14.03.2008, 17:59 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Der KCEMU von Haftmann lädt BASIC-Programme wie folgt:

{BASIC-Programm}
aa:=$401;
_llseek(f,0,0); !!! Der Emulator verzichtet bei .SSS auf die ersten 11 Zeichen (Typ + Name). Normalerweise müsste also hier ein lseek,11,0) stehen !
_lread(f,PChar(@len),2); {Laenge holen}
ea:=aa+len;
LoadKCMem(@ea,$3D7,2)
LoadKCMem(@ea,$3D9,2)
LoadKCMem(@ea,$3DB,2) {Endadresse eintragen, Variablen l”schen}

d.h., der Wert der Endadresse muß noch auf die Adressen 3D7, 3D9, 3DB eingetragen werden, dann sollte ein WBASIC bzw. sogar innerhalb von BAISC funktionieren.

Das Listing vom BASIC gibts auf meiner Seite. :-)
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
14.03.2008, 19:04 Uhr
Gast: Kingstener



cooool, funktioniert

Danke für den heißen Tip Volker!!

Edit:
Listing hab ich auch gefunden,sollte doch ab und an Brille putzen

Dieser Beitrag wurde am 14.03.2008 um 19:06 Uhr von Kingstener editiert.
Seitenanfang Seitenende
(Gast) Zitatantwort || Editieren || Löschen
009
04.08.2011, 12:41 Uhr
Lötspitze



Hallo,

ich möchte bei einem KC87 ein umfangreiches BASIC-Programm, nachdem es frisch geladen wurde, komplett 1:1 in einen anderen RAM-Bereich kopieren bzw. als Speicherabzug sichern. Ziel ist, es später aus damit gebrannten EPROM´s zurück auf den alten "BASIC"-Platz zu transferieren und zu starten, ohne den Kassettenrekorder o.ä. bemühen zu müssen. Es handelt sich hier um einen Laborrechner, auf dem nur dieses eine Programm läuft.
Wenn ich das oben richtig deute, müßte ich von Speicherplatz 300H anfangen zu sichern, um alles komplett zu haben - aber wo und wie finde ich das Programmende? Würde das Ganze so funktionieren, wie ich mir das gedacht habe? Wäre schön, wenn mir jemand Bescheid geben könnte.

Schöne Grüße

Matthias
--
___________________
...geboren, um zu löten.

Wer rennen soll, muß auch mal stolpern dürfen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
04.08.2011, 13:43 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Die Endadresse des Programms steht in 3D7h. Also einfach alles von 300h..(3D7h) speichern. Bis zu dieser Adresse speichert auch das BASIC-eigene CSAVE.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
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