Robotrontechnik-Forum

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

Robotrontechnik-Forum » Technische Diskussionen » Problem mit jtcemu » Themenansicht

Autor Thread - Seiten: -1-
000
18.04.2022, 16:52 Uhr
wolle1945



Hallo,
ich habe seit gestern ein Problem mit dem jtcemu beim Programmieren eines
Basic-Programmes. Ich wollte das Programm erweitern und plötzlich spinnt
die Eingabe von Basic-Befehlen, nimmt keine Befehle mehr an, jtcemu hängt
sich auf, mein bisheriges Programm wird vermatscht.
Beim Abspeichern des Programms mußte ich feststellen, daß der Bereich
von E000 bis E75D geht, also keine 2K. Laut Unterlagen kann ich ab E000
bis max. 4K programmieren. Meine bisherigen Programme waren wesentlich
kürzer und hier gibt es keine Probleme.
Ich kann im EDI auch keine Veränderungen, z.B. löschen von Zeilen vornehmen,
hier hängt sich der jtcemu auf.
Im Texteditor werden die letzten 2 Zeilen des Programms nicht angezeigt.
Was mache ich falsch, was kann ich tun?
Meine Einstellungen:
6 KByte ES4.0
64 KByte RAM
ROM-Bank eingebunden
--
mfG wolle1945

Dieser Beitrag wurde am 18.04.2022 um 16:55 Uhr von wolle1945 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
18.04.2022, 17:54 Uhr
wolle1945



sieht teilweise so aus:


oder so:


im EDI mit E1200 wird dieser Matsch angezeigt. 12514 kann auch nicht gelöscht
werden, mit E1200 wird der Matsch wieder angezeigt.
--
mfG wolle1945

Dieser Beitrag wurde am 18.04.2022 um 18:29 Uhr von wolle1945 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
18.04.2022, 19:05 Uhr
PC-Opa



Hallo Wolfgang,
bei der Vergabe von Zeilennummern sollte man aufpassen. Leider interpretiert das ES4.0 einige Zeilennummern falsch und es können dann die o.g. Fehler auftreten.
Aufpassen z.B. bei ZN 64, 128, 256, 512.... usw. Diese bitte überspringen!
Bei der Zeilennummernvergabe sollten auch die Zahlen so klein wie möglich sein, sie nehmen sonst unnütz Speicherplatz weg. Ein kompaktes Programm mit Grafik, Sound und Player hat ganz schnell das Speicherplatzende von F4FFh erreicht.
--
Gruß Wolfgang
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
18.04.2022, 19:42 Uhr
wolle1945



ja aber ich komme ja nur bis F75D. Wo kommt dann dieser Dreck her?
Meine anderen Programme gehen wunderbar, nur dieses neue, nachdem
ich es immer mehr erweitert habe, macht diese Probleme.
--
mfG wolle1945
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
19.04.2022, 10:54 Uhr
PC-Opa



Kannst du mir das Programm mal schicken?
--
Gruß Wolfgang
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
19.04.2022, 15:16 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Der EDI arbeitet korrekt mit allen Zeilennummern, also auch mit
solchen, die im Lowbyte ein %00 oder %0D haben.

Eine Zeile darf incl. Zeilennummer max 80 Zeichen haben.

Die Zeile beginnt immer mit der Zeilennummer (als Word) und gesetztem Hi-Bit.

Innerhalb einer BASIC-Zeile sind die Zeichen %00 und %0D verboten.
Am Ende der Zeile muss %0D stehen. Am Programmende %00.

Wenn hier irgendwas defekt ist, kommt EDI (und BASIC) durcheinander.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)

Dieser Beitrag wurde am 19.04.2022 um 15:16 Uhr von volkerp editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
19.04.2022, 20:43 Uhr
wolle1945



hallo,
eine Korektur zu 003
richtig ist: ich komme ja nur bis "E75D" !!
--
mfG wolle1945
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
21.04.2022, 08:28 Uhr
PC-Opa



Hallo,
ich will mich mal hier "einklinken".
Ich nutze den JTCEmu 2.0 gerne als Hilfe zum Erstellen von kleinen Basic-Programmen. Besonders gut finde ich die Möglichkeit, mit dem Texteditor Programme zu bearbeiten und dann mit F9 im Edi zu testen. Leider funktioniert das mit den BAS-Erweiterungen (z.B. FLOAT-Routine) nicht. Gibt es da eine Möglichkeit, die Fehlermeldungen abzuschalten?
--
Gruß Wolfgang
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
21.04.2022, 08:47 Uhr
PC-Opa




Zitat:
volkerp schrieb
Der EDI arbeitet korrekt mit allen Zeilennummern, also auch mit
solchen, die im Lowbyte ein %00 oder %0D haben.

Eine Zeile darf incl. Zeilennummer max 80 Zeichen haben.

Die Zeile beginnt immer mit der Zeilennummer (als Word) und gesetztem Hi-Bit.

Innerhalb einer BASIC-Zeile sind die Zeichen %00 und %0D verboten.
Am Ende der Zeile muss %0D stehen. Am Programmende %00.

Wenn hier irgendwas defekt ist, kommt EDI (und BASIC) durcheinander.



Hallo Volker,
ich habe das betreffende Programm von wolle1945 mal angeschaut. Es gibt da ein Problem mit der ZN 1280. Genau an dieser Stelle wird bei der Abarbeitung des Programms der Speicher "zerstört". In der ZN 1280 steckt ja die 128 und die 0 und im Programm wird wird mit GOSUB auf das UP mit dieser ZN zugegriffen. Keine Ahnung, warum das so ist.
Nach Änderung der ZN funktioniert das Programm wie es soll.
--
Gruß Wolfgang
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
21.04.2022, 08:59 Uhr
volkerp
Default Group and Edit
Avatar von volkerp


Zitat:
PC-Opa schrieb
ich habe das betreffende Programm von wolle1945 mal angeschaut. Es gibt da ein Problem mit der ZN 1280. Genau an dieser Stelle wird bei der Abarbeitung des Programms der Speicher "zerstört". In der ZN 1280 steckt ja die 128 und die 0 und im Programm wird wird mit GOSUB auf das UP mit dieser ZN zugegriffen. Keine Ahnung, warum das so ist.
Nach Änderung der ZN funktioniert das Programm wie es soll.



Ohne das Programm kann ich das nicht nachvollziehen. Ich kann im ES40 im EDI problemlos eine Zeile 1280 erstellen, und auch ein GOSUB zu dieser Zeile bringt keine Probleme.

10S1280
20E
1280P"hallo"
1300R

R
hallo
O0Edi
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
21.04.2022, 09:01 Uhr
volkerp
Default Group and Edit
Avatar von volkerp


Zitat:
PC-Opa schrieb
Hallo,
ich will mich mal hier "einklinken".
Ich nutze den JTCEmu 2.0 gerne als Hilfe zum Erstellen von kleinen Basic-Programmen. Besonders gut finde ich die Möglichkeit, mit dem Texteditor Programme zu bearbeiten und dann mit F9 im Edi zu testen. Leider funktioniert das mit den BAS-Erweiterungen (z.B. FLOAT-Routine) nicht. Gibt es da eine Möglichkeit, die Fehlermeldungen abzuschalten?



Das geht leider nicht so einfach. Im Editor arbeitet ein BASIC-Parser, der die interne U883-Syntax aufbaut und die syntaktische Validierung des Programms etc. übernimmt. Dieser Parser muss für die FLOAT-Syntax erweitert werden
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
21.04.2022, 12:30 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Zum originalen Problem:
Das Float-Paket hat einen Fehler: Im ersetzten Teil des BASIC-Interpreters ist eine Sprungdistanz zu kurz. Wird diese geändert, funktioniert auch eine Zeile 1280 u.a. wieder korrekt:

statt
D8EC 8B 38 JR %D926
muss
D8EC 8B 3D JR %D92B
stehen.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
21.04.2022, 14:34 Uhr
wolle1945



Hallo,
vielen Dank für Eure Mühe. Ich werde nun erst einmal die Zeilen-Nr. 1280
weglassen.
--
mfG wolle1945
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
24.04.2022, 10:42 Uhr
Bert




Zitat:
wolle1945 schrieb
Meine Einstellungen:
6 KByte ES4.0
64 KByte RAM
ROM-Bank eingebunden


Das ES4.0 (und auch die Vorgängersysteme) haben keine RAM-Erkennung drin.
D.h. wenn man mehr als 8 kByte RAM verwenden will, muß man dem System das mitteilen.

Ich zitiere mal aus jutecomp1.pdf, Seite 25:

Zitat:

Der BASIC Interpreter erwartet RAM ab Adresse %E000. Soll
der BASIC-Speicher an anderer Stelle beginnen, muß die be-
treffende Adresse in die Register 6 und 7 eingetragen wer-
den. Das gelingt z. B. mit der BASIC-Anweisung
10 PROC SETRR[6,%8000];END



Laut Ergänzungsbeschreibung ES 4.0 sind dann - je nach Speicherausbau - folgende Bereiche ohne Einschränkung nutzbar:
8 kByte: %E000-%F4FF
16 kByte: %C000-%F4FF
32 kByte: %8000-%F4FF

Die Änderung am Doppelregister 6:7 ist nach jedem Reset erneut durchzuführen. Leider.

Grüße,
Bert
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