EhBasic startet keine Programme

Das Forum für die Software der FPGA-Basisplatine
cyberbob
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 14
Registriert: 01.04.2008, 18:45
Wohnort: Northeim

EhBasic startet keine Programme

Beitrag von cyberbob »

Servus!

Habe mein FPGA + CORERAM + LCD fertiggestellt, aber leider kann ich keine *.BAS Programme laden. Der Startbildschirm erscheint (EhBasic #2.2c ...), dann kommt 43007 Bytes free und je nach AUTOSTART.MAC erscheint die Zeile mit z.B. "LOAD "GTEST.BAS". Genau dort bleibt der FPGA hängen.

Reset mit Pause-Taste geht. Manuell kann ich Programme eingeben und auch starten. Monitor und Terminal funktionieren ebenfalls. Was nicht geht ist LOAD, SAVE, DIR, also anscheinend kein Zugriff auf die SD-Karte.

Woran kann das liegen bzw. wie kann ich es testen?

Gruß
Marco
19"-Rack 1: IFP / ADA-C + IO8-32 + AD16-8 + DA16-8 / DDS + TRMSC / DCG 16bit + DCP / EDL 10A
19"-Rack 2: DIV + TRMSC / FPGA + CORERAM + DACRAM / LCD 320x240
cm
Konstrukteur
Konstrukteur
Beiträge: 124
Registriert: 06.12.2007, 10:36
Wohnort: Hannover
Kontaktdaten:

Re: EhBasic startet keine Programme

Beitrag von cm »

Hallo,

ein ähnliches Problem hat mich neulich zwei Tage Arbeit gekostet: Nach Neusynthese für die neue 2.3-Version ging das Laden/speichern von Programmen plötzlich nicht mehr. Schuld ist der T65-Wrapper, der wg. ungeschickter Implementierung (meinerseits, ähem) das "HALTED"-Signal (das schließlich die DMA-Freigabe erwirkt) eher zufällig durchreicht, weil sich ein anderer unbedeutender Bug (umständliches Routing mit zusätzlicher Verzögerung) positiv drauf auswirkt.

Die LED neben dem FPGA zeigt übrigens einen DMA-Zugriff an. Wenn sie beim LOAD/SAVE nicht kurz aufblitzt, ist was faul. Sie leuchtet auf jeden Fall, wenn der BASIC-Interpreter ins "ROM" geladen wird, aber hier ist der Mechanismus etwas anders (Freigabe über CPU-Reset).

Das Problem sollte aber keinesfalls mit dem main.bit in SDCARD auftreten, nur nach Neusynthese.

Inzwischen habe ich einen neuen CPU-Wrapper, der ist robust gegen Neusynthese. Wird mit Version 2.3 eingeführt. Damit kommt dann auch ein verlangsamtes Timing im I/O-Bereich $600; manche älteren Bausteine benötigen nämlich einen Strobe-Impuls von min. 100ns (momentan eher kritische 20ns). Herrn Siebrecht wird's freuen.
Carsten Meyer

Redaktion c't
cyberbob
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 14
Registriert: 01.04.2008, 18:45
Wohnort: Northeim

Re: EhBasic startet keine Programme

Beitrag von cyberbob »

Hallo,

ich habe es zuerst ein einem normalen Monitor getestet (sdcard) und Gestern Abend dann mit dem Polin-LCD (sdcard_lcd), d.h. auch die main.bit ausgetauscht. Bei beiden das selbe Phänomen. Die LED leuchtet meines Wissens nur beim Laden des Basics, beim Speichern eines selbst erstellten kurzen Programms mit SAVE "PROG1.BAS" hat sich keine LED geregt.

Mal schauen was die 2.3 bringt.

Gruß
Marco
19"-Rack 1: IFP / ADA-C + IO8-32 + AD16-8 + DA16-8 / DDS + TRMSC / DCG 16bit + DCP / EDL 10A
19"-Rack 2: DIV + TRMSC / FPGA + CORERAM + DACRAM / LCD 320x240
pillex
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 17
Registriert: 04.09.2008, 10:57
Wohnort: Berlin

Re: EhBasic startet keine Programme

Beitrag von pillex »

Hallo cm,

erfordern die Strobeverlängerung auf 100ns überhaupt noch SMDs für die Widerstände auf der FPGA-IOCORE Karte?

Danke und Gruß Pillex
cm
Konstrukteur
Konstrukteur
Beiträge: 124
Registriert: 06.12.2007, 10:36
Wohnort: Hannover
Kontaktdaten:

Re: EhBasic startet keine Programme

Beitrag von cm »

BASIC 2.3 beta anbei. Bei mir läuft jetzt alles.

Achtung: unbedingt beigefügtes main.bit verwenden, es hat sich einiges an der "Hardware" geändert.

Neuer Befehl: CURSOR ON / CURSOR OFF zum Abschalten des Cursors. Evt. nehme ich noch die PLOTLIB mit auf, da $B000 bis $BFFF nun frei (Video-Text-RAM ausgelagert).

Tokens haben sich nicht geändert, alte Programme sollten also auch laufen.

@Siebrecht: IO-Bereich jetzt verlangsamt, 160ns Zugriffszeit statt 40ns. Bitte mal ausprobieren, ob Ihre IOCORE jetzt läuft.

Nachtrag: Da war mir wohl bei ehbasic.dat die falsche Startadresse reingerutscht. Jetzt richtig ab $C000 bzw. 49152. Sorry für den Fehler im Zip, bitte neu downloaden!
Dateianhänge
sdcard.zip
(73.55 KiB) 247-mal heruntergeladen
Zuletzt geändert von cm am 02.12.2009, 10:32, insgesamt 3-mal geändert.
Carsten Meyer

Redaktion c't
cm
Konstrukteur
Konstrukteur
Beiträge: 124
Registriert: 06.12.2007, 10:36
Wohnort: Hannover
Kontaktdaten:

Re: EhBasic startet keine Programme

Beitrag von cm »

pillex hat geschrieben:Hallo cm,

erfordern die Strobeverlängerung auf 100ns überhaupt noch SMDs für die Widerstände auf der FPGA-IOCORE Karte?

Danke und Gruß Pillex
Nein, sollte auch so gehen.
Carsten Meyer

Redaktion c't
VGOE
kann c't-Lab-Bausätze löten
kann c't-Lab-Bausätze löten
Beiträge: 45
Registriert: 26.10.2009, 10:56

Re: EhBasic startet keine Programme

Beitrag von VGOE »

Hiho,
sollte 2.3 auch auf der VGA Konfiguration laufen? Das tuts bei mir nämlich nicht ... :(
CU
Volker
cyberbob
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 14
Registriert: 01.04.2008, 18:45
Wohnort: Northeim

Re: EhBasic startet keine Programme

Beitrag von cyberbob »

So,
habe die Dateien auf die SD-Karte gepackt und das einzige was ich mit angeschlossenen Monitor sehe sind die 5 Zeilen mit Zahlen, Buchstaben und Sonderzeichen. Umgesteckt auf Pollin-LCD zeigt gar nichts an. Hmm, passt da was mit dem RAM nicht? Hab die CORERAM von Segor mit BSI BS62LV4006PIP55.

Gruß
Marco
19"-Rack 1: IFP / ADA-C + IO8-32 + AD16-8 + DA16-8 / DDS + TRMSC / DCG 16bit + DCP / EDL 10A
19"-Rack 2: DIV + TRMSC / FPGA + CORERAM + DACRAM / LCD 320x240
HSiebrecht
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 116
Registriert: 30.11.2007, 23:50
Wohnort: Westfalen

Re: EhBasic startet keine Programme

Beitrag von HSiebrecht »

Hallo Marco,

nach erstem Test hatte ich auch Dein Fehlerbild.
Schuld ist die Datei ehbasic.dat. Die hat normalerweise 16k, im Zip ist die aber 64k groß.

Entweder Du bearbeitest die Datei mit einem Hex-Editor und nimmst nur die letzten 16k oder so wie ich auf die schnelle die BASIC.INI anpassen.
Mach aus "AIM=49152" mal "AIM=0", dann wird die 64k ehbasic.dat ab Adr. 0 geladen, dann startet auch ct-Basic Version 2.3b.

So geh jetzt die IOCORE testen. :) :) :)
Viele Grüße

Helmut

Die meisten Desaster in der IT Welt haben eine gemeinsame Ursache: Wir machen mal eben.
cyberbob
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 14
Registriert: 01.04.2008, 18:45
Wohnort: Northeim

Re: EhBasic startet keine Programme

Beitrag von cyberbob »

Hallo Helmut,

Danke, jetzt läd er auch die Version 2.3b.

Allerdings besteht immer noch das alte Problem: Weder DIR, LOAD oder SAVE funktionieren. Geht das denn bei Dir?

Gruß
Marco
19"-Rack 1: IFP / ADA-C + IO8-32 + AD16-8 + DA16-8 / DDS + TRMSC / DCG 16bit + DCP / EDL 10A
19"-Rack 2: DIV + TRMSC / FPGA + CORERAM + DACRAM / LCD 320x240
HSiebrecht
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 116
Registriert: 30.11.2007, 23:50
Wohnort: Westfalen

Re: EhBasic startet keine Programme

Beitrag von HSiebrecht »

Hallo Marco,

bei mir funktioniert, ( funktionierte schon immer ) DIR, LOAD und SAVE.

Du hast schon wie cm geschrieben hat immer die dazugehörige main.bit benutzt?

Zugriff auf die SD-Card hast Du ja, sonst könntest Du ja das ct-Basic nicht laden.

Funktioniert der DIR bzw. FNM Befehl der FPGA-Firmware, also Terminal über die IFP?

Welche FPGA Firmware benutzt Du denn, mach mal ein IDN?
Viele Grüße

Helmut

Die meisten Desaster in der IT Welt haben eine gemeinsame Ursache: Wir machen mal eben.
HSiebrecht
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 116
Registriert: 30.11.2007, 23:50
Wohnort: Westfalen

Re: EhBasic startet keine Programme

Beitrag von HSiebrecht »

Hallo Carsten,
cm hat geschrieben:Inzwischen habe ich einen neuen CPU-Wrapper, der ist robust gegen Neusynthese. Wird mit Version 2.3 eingeführt. Damit kommt dann auch ein verlangsamtes Timing im I/O-Bereich $600; manche älteren Bausteine benötigen nämlich einen Strobe-Impuls von min. 100ns (momentan eher kritische 20ns). Herrn Siebrecht wird's freuen.
cm hat geschrieben:BASIC 2.3 beta anbei. Bei mir läuft jetzt alles.
@Siebrecht: IO-Bereich jetzt verlangsamt, 160ns Zugriffszeit statt 40ns. Bitte mal ausprobieren, ob Ihre IOCORE jetzt läuft.
Heureka, ja ist denn schon Nikolaus. :) :) :)

Danke, Danke, Danke, nun funktionieren die Inports meiner IOCORE Karte.

Werde nun meine IOCORE wieder in einen halbwegs ansehbaren Zustand zurückversetzen und dann auch mal die HCT Typen testen. Werde dann hier oder im eigentlichen Thread berichten.

@Pillex, bei mir sind noch für R1-R7 220R Metallfilm und für R8 100R SMD drin. R8 wird aber auch wieder 220R Metallfilm.

Noch mal Danke und ...
Viele Grüße

Helmut

Die meisten Desaster in der IT Welt haben eine gemeinsame Ursache: Wir machen mal eben.
cyberbob
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 14
Registriert: 01.04.2008, 18:45
Wohnort: Northeim

Re: EhBasic startet keine Programme

Beitrag von cyberbob »

Hallo Helmut,

es lag scheinbar am EEPROM des 644. Ich habe einfach gerade mal neu programmiert und nun rennt die GTEST.BAS. Hatte mich schon vor ein paar Tagen gewundert, dass ich den Inkrementalgeber einstellen mußte.

Also, Danke für die Unterstützung von Euch!

Gruß
Marco
19"-Rack 1: IFP / ADA-C + IO8-32 + AD16-8 + DA16-8 / DDS + TRMSC / DCG 16bit + DCP / EDL 10A
19"-Rack 2: DIV + TRMSC / FPGA + CORERAM + DACRAM / LCD 320x240
Benutzeravatar
moosmichel001
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 175
Registriert: 06.12.2007, 10:09
Wohnort: Schwerin

Re: EhBasic startet keine Programme

Beitrag von moosmichel001 »

HSiebrecht hat geschrieben: Heureka, ja ist denn schon Nikolaus. :) :) :)
Gratulation. Schön, daß du es schon getestet hast.

Na dann werd ich mich am Wochende auch mal bei machen und hoffentlich auch Erfolg haben.

Gruß Moosi...
Eine genagelte Schraube hält besser als ein geschraubter Nagel.
FPGA v2.61 CORERAM/COREIO/(LCD)
ADAC v1.73 IO8-32/DA12-8(16bit)/AD16-8/CVC/REL8/OUT8
2 DCG(16bit) v2.91 DCP/BF + EDL 2A v1.78 + DIV v3.10 TRMSC
DDS v3.71 TRMSC + DIV v3.10 TRMSC + EDL 10A
cm
Konstrukteur
Konstrukteur
Beiträge: 124
Registriert: 06.12.2007, 10:36
Wohnort: Hannover
Kontaktdaten:

Re: EhBasic startet keine Programme

Beitrag von cm »

cyberbob hat geschrieben:Hallo Helmut,

es lag scheinbar am EEPROM des 644. Ich habe einfach gerade mal neu programmiert und nun rennt die GTEST.BAS. Hatte mich schon vor ein paar Tagen gewundert, dass ich den Inkrementalgeber einstellen mußte.

Also, Danke für die Unterstützung von Euch!

Gruß
Marco
Ja, da hätte ich auch drauf kommen können. Korrumpiertes EEPROM kann bei Experimenten leider immer mal vorkommen, trotz Schreibschutz der wichtigsten Parameter. Betroffen sind bei älteren ATMEGAs vor allem die ersten Bytes, die ich schon gar nicht mehr benutze (blockiert von "Dummy" im Sourcecode). Der 644 sollte diesen Bug eigentlich nicht mehr haben. Werde trotzdem mal über eine EEPROM-Prüfsumme nachdenken.

Bitte obiges Posting von mir bez. ehbasic-Startadresse beachten, im gestern geposteten ZIP war sie falsch (jetzt dort korrigiert).

@Helmut Siebrecht:
Danke, Danke, Danke, nun funktionieren die Inports meiner IOCORE Karte.
Sehr interessant. Offensichtlich gibt es dann doch deutliche Timing-Abweichungen bei einzelnen FPGA-Chargen (Pad-Delay). Bei mir funktionierten die Inputs auch mit der alten Version 2.2, sowohl mit LS als auch HCT-Typen auf IOCORE, auf zwei aufgebauten FPGA-Modulen (eine original Segor-Platine und mein Prototyp).
Carsten Meyer

Redaktion c't
Antworten