H4th ROM. American in origin after all it would seem.

ZX-Team Forum
Antworten
moggy
User
Beiträge: 34
Registriert: 09.09.2011, 16:30

H4th ROM. American in origin after all it would seem.

Beitrag von moggy » 31.01.2017, 17:43

An article from Sync magazine would seem to confirm that the UK h4th is a clone of the original Multi-Forth/Pluri-Forth after all.

https://archive.org/stream/SyncVolume4N ... 9/mode/2up

A fairly lengthy read but worth persevering with.
Dateianhänge
Untitled-1.jpg
Untitled-1.jpg (93.43 KiB) 1448 mal betrachtet

Benutzeravatar
Joachim
User
Beiträge: 843
Registriert: 06.11.2004, 20:21

Re: H4th ROM. American in origin after all it would seem.

Beitrag von Joachim » 31.01.2017, 18:52

@moogy: Thank You for this very interesting issue of SYNC! The FORTH-article remembered me, what I wanted do next. Also very useful for me was the article about drawing circles in machine code.

Bei dieser Gelegenheit habe ich mich daran erinnert, dass Borco damals viel in Forth programmiert hat. Für ihn habe ich auch den Switch für Forth-Screens in Mefisdos eingeführt. Borco hat ein Forth-Word gebaut (MDOS), mit dem man aus Forth heraus in den Mefisdos-Editor kommt und dann den screen speichern oder laden kann. Auch hat er ein Wort kreiert, mit dem man Ein-Ausgaben über unsere PIO machen kann. Leider habe ich noch nicht viel Ahnung von Forth und kann nichts weiter dazu sagen. Ich habe mal einpaar seiner Forth-Versionen zusammengepackt. Vielleicht interessiert es jemanden. Bei diesem Forth handelt es sich um das Denk-Forth von Denk und Bachmann. Borco hatte damals auch Kontakt zu Herrn Denk aufgenommen.
Die Files kann man leider nicht mit dem EO einladen. Warum weiß ich nicht. Ich habe sie von meinen Zeddy auf den Stick gezogen. Von da aus kann ich sie auch wieder einladen und starten. Mit dem EO nicht. Vielleicht hat jemand eine Lösung dazu.
GFORTH.zip
(39.71 KiB) 44-mal heruntergeladen
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

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

Re: H4th ROM. American in origin after all it would seem.

Beitrag von bokje » 01.02.2017, 09:25

Mit einem (hex) '80' Byte am Ende hinzugefuegt kann EightyOne sie einladen :)

Benutzeravatar
Joachim
User
Beiträge: 843
Registriert: 06.11.2004, 20:21

Re: H4th ROM. American in origin after all it would seem.

Beitrag von Joachim » 04.02.2017, 14:59

Klappt wunderbar! Danke!
Beim Programm HDFORTH.P gibt es aber Probleme. Das liegt offensichtlich an der Zeile 10. Da steht: 10 SAVE. Das kommt davon, dass dies mein Mefisdos-Aufruf mit verändertem ROM ist (bei meinem ZX81 steht dort: 10 MDOS).
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
ZX-Heinz
User
Beiträge: 1256
Registriert: 05.12.2011, 14:45

Re: H4th ROM. American in origin after all it would seem.

Beitrag von ZX-Heinz » 04.02.2017, 16:39

Joachim hat geschrieben:Klappt wunderbar! Danke!
Beim Programm HDFORTH.P gibt es aber Probleme. Das liegt offensichtlich an der Zeile 10. Da steht: 10 SAVE. Das kommt davon, dass dies mein Mefisdos-Aufruf mit verändertem ROM ist (bei meinem ZX81 steht dort: 10 MDOS).
Bei mir steht auch 10 SAVE ... und Eightyone blockiert. Ebenso der NU. Auch mit Ergänzung #80.

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

Re: H4th ROM. American in origin after all it would seem.

Beitrag von bokje » 05.02.2017, 07:57

Hat NXTLIN=0 ((kein autostart) mit sz81, wieder SAVE, und GOTO 20 das vielleicht gelöst?
Dateianhänge
HDFORTH1.P
(13.3 KiB) 30-mal heruntergeladen

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

Re: H4th ROM. American in origin after all it would seem.

Beitrag von bokje » 05.02.2017, 09:00

Apart from timing differences between H4th and Tree4th, there is a bug in H4th which is not present in Tree4th.

Code: Alles auswählen

2 3 +- .
Should give 2, but gives a stack error in H4th, because the result is not pushed to the stack (using RST).

H4th (at address 170fh):

Code: Alles auswählen

        ret     z
        call    0b1eh
        rst     08h
        ret     
Tree4th:

Code: Alles auswählen

        nop
        call    nz,0b1eh
        rst     08h
        ret     

Benutzeravatar
tokabln
User
Beiträge: 1054
Registriert: 10.11.2013, 00:24
Wohnort: D, Berlin (Mariendorf)

Re: H4th ROM. American in origin after all it would seem.

Beitrag von tokabln » 05.02.2017, 10:01

Hi Bokje,

does this mean H4TH should be patches at 0170fh with the same code used in Tree4TH?

Any recommendation is warmly welcome.
Lieben Gruß Torsten
BMZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500, Amiga 1200, Atari Portfolio, HP200LX, IBM PC 5155, TP755c, T41, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e

Benutzeravatar
ZX-Heinz
User
Beiträge: 1256
Registriert: 05.12.2011, 14:45

Re: H4th ROM. American in origin after all it would seem.

Beitrag von ZX-Heinz » 05.02.2017, 10:51

bokje hat geschrieben:Hat NXTLIN=0 ((kein autostart) mit sz81, wieder SAVE, und GOTO 20 das vielleicht gelöst?
Läuft jetzt perfekt auf dem ZX81NU. Danke!
.

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

Re: H4th ROM. American in origin after all it would seem.

Beitrag von bokje » 05.02.2017, 12:55

tokabln hat geschrieben:does this mean H4TH should be patches at 0170fh with the same code used in Tree4TH?
Yes, that could work, see:
Dateianhänge
h4thp.zip
(6.18 KiB) 36-mal heruntergeladen

Benutzeravatar
Joachim
User
Beiträge: 843
Registriert: 06.11.2004, 20:21

Re: H4th ROM. American in origin after all it would seem.

Beitrag von Joachim » 05.02.2017, 13:23

Ich habe es auch nachstellen können und es war tatsächlich der Autostart und die Zeile 10. Als dieses Programm gespeichert wurde, das muss man wissen, wusste noch niemand, dass es einen Emulator und eine Verbindung zum PC geben wird ;)

Hier noch eine Anleitung zum GFORTH von Herrn Denk. Vielleicht kann sie jemand gebrauchen.
Denk Forth.pdf
(1.5 MiB) 41-mal heruntergeladen
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

moggy
User
Beiträge: 34
Registriert: 09.09.2011, 16:30

Re: H4th ROM. American in origin after all it would seem.

Beitrag von moggy » 05.02.2017, 14:34

bokje hat geschrieben:
tokabln hat geschrieben:does this mean H4TH should be patches at 0170fh with the same code used in Tree4TH?
Yes, that could work, see:
Excellent Bokje many thanks for this. :D

I presume this correction is a genuine bug and will not show a fault in some other calculations when the correction is made? If so I shall be using this ROM code from now on.

Another discovery I have made thanks to 1024MAK is that to use the USA Tree-Forth ROM with a UK 81,no alteration has to be made to convert the 81 to USA spec via a 10ohm resistor, as long as the TV/monitor is set for UK PAL 60Hz then it will work just fine but still displays the visual glitches of the H4fth version and runs slightly slower(see picture).

An explanation made on the UK forum by 1024MAK can be found here,apologies if this information is already known.

http://www.sinclairzxworld.com/viewtopic.php?f=7&t=2215

I have also posted a link to this topic, on the UK forum.
Dateianhänge
forth.jpg
forth.jpg (251.76 KiB) 1261 mal betrachtet

moggy
User
Beiträge: 34
Registriert: 09.09.2011, 16:30

Re: H4th ROM. American in origin after all it would seem.

Beitrag von moggy » 05.02.2017, 17:47

bokje hat geschrieben:Apart from timing differences between H4th and Tree4th, there is a bug in H4th which is not present in Tree4th.

Code: Alles auswählen

2 3 +- .
Should give 2, but gives a stack error in H4th, because the result is not pushed to the stack (using RST).

H4th (at address 170fh):

Code: Alles auswählen

        ret     z
        call    0b1eh
        rst     08h
        ret     
Tree4th:

Code: Alles auswählen

        nop
        call    nz,0b1eh
        rst     08h
        ret     

It is worth pointing out that this error does not occur when using the +- primitive to apply a negative sign to the first stack item.

For example 2 -3 +- . gives -2 which is correct, the error only seems to occur when applying a positive sign to the first stack item using +-.

Benutzeravatar
ZX-Heinz
User
Beiträge: 1256
Registriert: 05.12.2011, 14:45

Re: H4th ROM. American in origin after all it would seem.

Beitrag von ZX-Heinz » 06.02.2017, 17:35

Joachim hat geschrieben: Hier noch eine Anleitung zum GFORTH von Herrn Denk. Vielleicht kann sie jemand gebrauchen.
Denk Forth.pdf
Hallo Joachim, hallo bokje,
leider funktioniert der Befehl

n PUT NAME

nur bei "save to real tape"! Nur ein wav-File wird erzeugt. Damit ist das HDFORTH nur sehr bedingt brauchbar, da Speichern auf SD-Card nicht möglich ist. Oder weiß jemand, wie doch?

Eine Lösung interessiert mich deshalb, weil FORTH eine Möglichkeit wäre, mein MrZ auch am Zeddy zu betreiben. Bisher nur am Speccy (mit PASCAL)

Hat jemand vielleicht Kontakt zu Wolfgang Denk?

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

Re: H4th ROM. American in origin after all it would seem.

Beitrag von bokje » 10.03.2017, 19:03

Im HDFORTH, ".CPU" ("ZX81") ist eigentlich:

Code: Alles auswählen

HEX 92F1 19 24 BASE ! D.
H4TH gibt "TR81" (mit DAAs):

Code: Alles auswählen

HEX 19 92F1 24 TO BASE D.
:wink:

Benutzeravatar
siggi
User
Beiträge: 2046
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: H4th ROM. American in origin after all it would seem.

Beitrag von siggi » 21.03.2017, 10:21

ZX-Heinz hat geschrieben:
05.02.2017, 10:51
bokje hat geschrieben:Hat NXTLIN=0 ((kein autostart) mit sz81, wieder SAVE, und GOTO 20 das vielleicht gelöst?
Läuft jetzt perfekt auf dem ZX81NU. Danke!
.
Na was gibt's dann noch zu tun und zu besprechen in Mahlerts?
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
ZX-Heinz
User
Beiträge: 1256
Registriert: 05.12.2011, 14:45

Re: H4th ROM. American in origin after all it would seem.

Beitrag von ZX-Heinz » 21.03.2017, 10:32

siggi hat geschrieben:
21.03.2017, 10:21
ZX-Heinz hat geschrieben:
05.02.2017, 10:51
bokje hat geschrieben:Hat NXTLIN=0 ((kein autostart) mit sz81, wieder SAVE, und GOTO 20 das vielleicht gelöst?
Läuft jetzt perfekt auf dem ZX81NU. Danke!
.
Na was gibt's dann noch zu tun und zu besprechen in Mahlerts?
Das bezog sich auf HDFORTH! Ich will aber H4TH haben.

Antworten