TForth stürzt ab nach 1 Sekunde bei HRG (nicht mehr ab)

ZX-Team Forum
Antworten
funkheld
User
Beiträge: 164
Registriert: 16.11.2010, 18:20

TForth stürzt ab nach 1 Sekunde bei HRG (nicht mehr ab)

Beitrag von funkheld » 07.11.2017, 14:06

Hallo, guten Tag.
Ich habe mal diese HRG(48kb) mit TFORTH getestet.
Die Grafik erscheint nur für knapp 1 Sekunde , dann stürzt das Programm ab (habe schnell ein Schnappschuss gemacht)
Ich gehe so vor:
- HRG laden aktivieren
- TFORTH laden (es werden jetzt auch weniger Speicher angezeigt)
- FTH in Speicher 32768 laden im EightyOne
- dann in Forth : decimal 32768 load
- dann HRG eingeben , das Programm startet und die Grafik wird nur für ca 1 Sekunde angezeigt.

Welcher Wert muss bitte bei TForth noch gesichert werden.
Was ist da falsch ?

Danke.
Gruss

Das ASM-Program :

Code: Alles auswählen

        ld a,1         // HRG einschalten
	call 0x7fe3
	
	ld a,0x12     // Screen löschen
	call 0x7fe3
	
	ld a,0x06     // Linie Zeichen
	ld bc,0x0000  
	ld de,0xffbf  
	call 0x7fe3
	
	ld a,0x0f     // Polygon zeichnen
	ld bc,0xffff
	push bc
	ld bc,0x0000
	push bc
	ld bc,0x0a64
	push bc
	ld bc,0x1467
	push bc
	call 0x7fe3


Das umgewandelte Programm in FTH :

CODE HRG
62 C, 1 C, 205 C, 227 C, 127 C, 62 C, 18 C, 205 C, 227 C, 127 C, 62 C,
6 C, 1 C, 0 C, 0 C, 17 C, 191 C, 255 C, 205 C, 227 C, 127 C, 62 C,
15 C, 1 C, 255 C, 255 C, 197 C, 1 C, 0 C, 0 C, 197 C, 1 C, 100 C,
10 C, 197 C, 1 C, 103 C, 20 C, 197 C, 205 C, 227 C, 127 C,
NEXT
Dateianhänge
Bild2.jpg
Bild2.jpg (65.14 KiB) 202 mal betrachtet
Zuletzt geändert von funkheld am 08.11.2017, 21:48, insgesamt 2-mal geändert.

Benutzeravatar
mrtinb
User
Beiträge: 60
Registriert: 30.12.2016, 07:16
Wohnort: Kolding, Denmark
Kontaktdaten:

Re: TForth stürzt ab nach 1 Sekunde bei HRG

Beitrag von mrtinb » 07.11.2017, 14:48

Wie in der TForth-Quelle beschrieben, haben einige der Register die Verwendung in TForth reserviert.

BC = Forth TOS (oberster Param-Stack-Eintrag)
HL = W Arbeitsregister
DE = IP-Interpreterzeiger
SP = PSP Param. Stapelzeiger

Vielleicht werden einige dieser Register in den HRG-Routinen geändert. Und es ist sehr wichtig, dass der Stapel nicht zerstört wurde.

Mit etwas Debuggen können Sie sehen, ob BC, HL, DE und SP vor und nach Ihrer ML gleich sind.
Martin
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube

funkheld
User
Beiträge: 164
Registriert: 16.11.2010, 18:20

Re: TForth stürzt ab nach 1 Sekunde bei HRG

Beitrag von funkheld » 07.11.2017, 15:24

Wie kommt man bitte an dieses Zeichen beim TForth : @

Danke.
GRuss

Benutzeravatar
mrtinb
User
Beiträge: 60
Registriert: 30.12.2016, 07:16
Wohnort: Kolding, Denmark
Kontaktdaten:

Re: TForth stürzt ab nach 1 Sekunde bei HRG

Beitrag von mrtinb » 07.11.2017, 15:29

Innerhalb von tforth.zip ist keyboard.png mit der Dokumentation enthalten. Hier können Sie sehen, dass shift-2 @ gibt.
Martin
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube

funkheld
User
Beiträge: 164
Registriert: 16.11.2010, 18:20

Re: TForth stürzt ab nach 1 Sekunde bei HRG

Beitrag von funkheld » 07.11.2017, 15:58

Danke, habe ich gefunden.

GRuss

bokje
User
Beiträge: 65
Registriert: 02.05.2015, 15:38

Re: TForth stürzt ab nach 1 Sekunde bei HRG

Beitrag von bokje » 07.11.2017, 16:08

Was passiert mit

Code: Alles auswählen

loop: jr loop
am Ende?

funkheld
User
Beiträge: 164
Registriert: 16.11.2010, 18:20

Re: TForth stürzt ab nach 1 Sekunde bei HRG

Beitrag von funkheld » 07.11.2017, 18:36

Ich wollte hier jetzt mit dem TForth weitermachen.

Jetzt funktioniert es soweit, die Grafik wird gezeichnet im TForth und bleibt auch, nachdem ich die Seite 4 eingestellt habe für 64kb bestehen wie oben im 1. Bild :
ld a,0 // hrg seite 4
ld bc,4
call 0x7fe3


Aber es geht damit nicht zum TForth zurück :
ld a,2 // hrg verlassen , geht nicht zurück nach TForth
call 0x7fe3


Irgendwie muss es beim ZX81 noch eine andere Einstellung geben um wieder
in den Textmodus zurück zurück zu gehen.

Das ASM-Programm:

Code: Alles auswählen

    
	ld a,1        // hrg starten
	call 0x7fe3  
	
	ld a,0       // hrg seite 4
	ld bc,4
	call 0x7fe3
	
	ld a,0x12     // seite löschen
	call 0x7fe3
	
	ld a,0x06     // linie
	ld bc,0x0000  
	ld de,0xffbf  
	call 0x7fe3
	
	ld a,0x0f     //  polygon
	ld bc,0xffff
	push bc
	ld bc,0x0000
	push bc
	ld bc,0x0a64
	push bc
	ld bc,0x1467
	push bc
	call 0x7fe3
	
	ld a,2      // hrg verlassen , geht nicht zurück nach TForth
	call 0x7fe3


Das ist die erstellte Tabelle für TFOrth, erstellt mit meinem Purebasicporgramm aus der
obigen P-Datei:

Code: Alles auswählen

CODE HRG
 62 C, 1 C, 205 C, 227 C, 127 C, 62 C, 0 C, 1 C, 4 C, 0 C, 205 C,
 227 C, 127 C, 62 C, 18 C, 205 C, 227 C, 127 C, 62 C, 6 C, 1 C, 0 C,
 0 C, 17 C, 191 C, 255 C, 205 C, 227 C, 127 C, 62 C, 15 C, 1 C, 255 C,
 255 C, 197 C, 1 C, 0 C, 0 C, 197 C, 1 C, 100 C, 10 C, 197 C, 1 C,
 103 C, 20 C, 197 C, 205 C, 227 C, 127 C, 62 C, 2 C, 205 C, 227 C, 127 C,
NEXT
Gruss

Benutzeravatar
PokeMon
User
Beiträge: 4490
Registriert: 31.08.2011, 23:41

Re: TForth stürzt ab nach 1 Sekunde bei HRG

Beitrag von PokeMon » 07.11.2017, 22:36

Ist denn überhaupt sichergestellt, dass sich TForth und der HRG Treiber vertragen ?
Eventuell Speicherüberschneidung ?
Wo liegt der HRG Speicher ?

Ich kenne leider nicht die Speicheranforderungen von TForth.
Wer seinen Computer ehrt, lebt nicht verkehrt.

funkheld
User
Beiträge: 164
Registriert: 16.11.2010, 18:20

Re: TForth stürzt ab nach 1 Sekunde bei HRG

Beitrag von funkheld » 07.11.2017, 23:20

HRG-Speicher für 64kb:

Gruss
Dateianhänge
Bild2.jpg
Bild2.jpg (51.13 KiB) 132 mal betrachtet

funkheld
User
Beiträge: 164
Registriert: 16.11.2010, 18:20

Re: TForth stürzt ab nach 1 Sekunde bei HRG

Beitrag von funkheld » 07.11.2017, 23:36

Speicher vom TForth mit und ohne HRG


Gruss
Dateianhänge
ohne hrg.jpg
ohne hrg.jpg (14.18 KiB) 128 mal betrachtet
mit hrg.jpg
mit hrg.jpg (13.26 KiB) 128 mal betrachtet

funkheld
User
Beiträge: 164
Registriert: 16.11.2010, 18:20

Re: TForth stürzt ab nach 1 Sekunde bei HRG

Beitrag von funkheld » 08.11.2017, 09:36

Auf Seite 9 im Handbuch vom HRG steht unter anderem : Wenn man die Zeile 140 löscht, bleibt das Programm im Grafikmodus stehen.
Bloß wenn da ein Fehler absichtlich (Zeile 140) rein gesetzt wird, geht er in den Textmodus.

Also könnte mein Programm funktionieren.
Man müsste jetzt einen künstlichen Fehler im ASM-Code mit reinproggen , wenn man den Aufruft das es dann zuück zu Forth geht.

Danke.
GRuss
Dateianhänge
hrg.pdf
(345.63 KiB) 6-mal heruntergeladen

funkheld
User
Beiträge: 164
Registriert: 16.11.2010, 18:20

Re: TForth stürzt ab nach 1 Sekunde bei HRG

Beitrag von funkheld » 08.11.2017, 15:00

So wie sich das HRG-Programm jetzt verhält in TForth , so ist es auch im Basic-Betrieb.
Mit den Tasten 9 + 0 kann ich im TForth zwischen Text und Grafik umschalten.

Auch im Basic hast du den Totlauf und kannst auch nur zwischen Text und Grafik umschalten.

Es funktioniert also so wie es soll im TForth.

Gruss

funkheld
User
Beiträge: 164
Registriert: 16.11.2010, 18:20

Re: TForth stürzt ab nach 1 Sekunde bei HRG (nicht mehr ab)

Beitrag von funkheld » 08.11.2017, 21:57

So es funktioniert jetzt.
HRGON4, HRGON5, HRGON6, HRGON7, HRGOFF, HRGLINIE ,HRGPIX zur Probe angefertigt.

Wenn ich HRGON4 aufrufe wird auf dem Grafikscreen 4 geschaltet.
Mit HRGOFF geht es wieder zurück zum TForth zum weiterschreiben. Man kann jetzt hin und her schalten.
Man kann auch die einzelnen Screenadressen beschreiben (Poke/Peek) und selber Grafikroutinen in TForth schreiben.

Die Codezeilen fertige ich mit meinem Purebasicprogramm an aus der Bindatei.

Das 1. Grafikziel mit TForth habe ich erreicht.

Code: Alles auswählen

CODE HRGCLS
 62 C, 18 C, 205 C, 227 C, 127 C,
NEXT

CODE HRGOFF
 62 C, 2 C, 205 C, 227 C,
 127 C,
NEXT

CODE HRGLINIE
 197 C, 213 C, 62 C, 6 C, 1 C, 0 C, 0 C, 17 C, 191 C, 255 C,
 205 C, 227 C, 127 C, 209 C, 193 C,
NEXT

CODE HRGPIX
 197 C, 213 C, 62 C, 3 C, 1 C,
 16 C, 16 C, 205 C, 227 C, 127 C, 209 C, 193 C,
NEXT

CODE HRGON4
 62 C, 0 C, 1 C, 4 C, 0 C, 205 C, 227 C, 127 C, 62 C,
 1 C, 205 C, 227 C, 127 C,
NEXT

CODE HRGON5
 62 C, 0 C, 1 C, 5 C, 0 C, 205 C,
 227 C, 127 C, 62 C, 1 C, 205 C, 227 C, 127 C,
NEXT

CODE HRGON6
 62 C, 0 C, 1 C,
 6 C, 0 C, 205 C, 227 C, 127 C, 62 C, 1 C, 205 C, 227 C, 127 C,
NEXT

CODE HRGON7
 62 C, 0 C, 1 C, 7 C, 0 C, 205 C, 227 C, 127 C, 62 C, 1 C,
 205 C, 227 C, 127 C,
NEXT
Gruss

Antworten