Robotrontechnik-Forum

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

Robotrontechnik-Forum » Technische Diskussionen » Hex2 - Rechner für ML-DOS » Themenansicht

Autor Thread - Seiten: -1-
000
03.02.2021, 21:54 Uhr
ALB42



Nochmal Hallo an alle.

Beim durchblättern des Forum sind mir nicht viele Softwarethemen untergekommen, ist das das falsche Forum für sowas oder wird da nicht viel diskutiert?

Ich wollte kurz mal beschreiben warum ich eigentlich überhaupt mich mit KC85/4 und Floppy beschäftigen wollte, ich wollte etwas programmieren am liebsten mit Pascal (wer mich nicht kennt, ich bin einer der beiden Maintainer für [url="https//blog.alb42.de"]Free Pascal für Amiga Systeme[/url]) KC-Pascal war nicht so mein Fall ehrlich gesagt, daher die Aufrüstung zu CP/M und Turbo Pascal und ich muss sagen da fühlt man sich schon eher daheim. Ist trotzdem alles recht neu und ungewphnt vor allem das wenige RAM ist ein echtes Problem wenn man modernes Programmieren gewöhnt ist.

Als kleine Fingerübung habe ich mal meinen Standard-Taschenrechner(gibts für Win/Linux/Mac/Amiga/AROS/MorphOS) portiert, naja eigentlich neu geschrieben, leider bekomme ich ihn noch nicht auf MicroDos zum laufen (zu wenig speicher) trotz umfangreicher Optimierungen aber vielleicht mach ich da auch noch was unsagbar dummes.



mehr Information +Download (falls es mal jemand probieren möchte) auf meinem Blog:
https://blog.alb42.de/2021/02/03/hex2-on-kc85/

Auch wenn der Screenshot vom Emulator ist habe ich eigentlich komplett am KC85 (USB Tastatur) geschrieben, aber der screenshot sieht beim emulator einfach besser aus

Dieser Beitrag wurde am 03.02.2021 um 21:57 Uhr von ALB42 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
04.02.2021, 18:19 Uhr
Bert



Hallo Marcus,

das ist schon auch die richtige Rubrik für Software.
Auf und für die Ostcomputer wird heute Software weniger entwickelt, als vor 30 Jahren...
Bei https://worldofspectrum.org/ ist wesentlich mehr los, da gibt es halt eine weltweite Netzgemeinschaft.

Auch Dein Programm ist genaugenommen kein KC85-Programm, sondern ein CP/M-Programm.
Mit Microdos bekomme ich auch den Speicherfehler:


Grüße,
Bert

Dieser Beitrag wurde am 04.02.2021 um 18:20 Uhr von Bert editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
04.02.2021, 21:28 Uhr
Bert



Nachtrag:
Nach dem Neustart des Emulators funktioniert auch mein ML-DOS wieder, konnte daher testen.
Bei LN, LB und LG erhalte ich ERROR 9:Unknown identifier
Ansonsten ist der erste Eindruck recht gut.
Falls Du noch eine Herausforderung suchst: eine History-Funktion für die getätigten Eingaben wäre eine feine Sache ;-)

Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
04.02.2021, 22:28 Uhr
ALB42



Danke sehr Bert,

habe ich gefixt, und jetzt läuft es auch auch MicroDOS und es ist scheinbar ein Bug in ML-DOS, wenn ich auf ML-DOS compiliere, (sogar nur ein wriiteln("Hello World")) bringt das diese Fehlermeldung auf MicroDOS, wenn ich aber unter MicroDOS compiliere dann funktiniert es auf beiden.
Ich habe jetzt auch die overlays wieder entfernt und es läuft immer noch also war es nicht die grösse
Hex2 Version 0.2
https://blog.alb42.de/programs/kc85programs/

ja über eine historie hab ich auch schon nachgedacht(auf den anderen systemen hat es das ja ), problem dabei ist nur, wie muss ich mal drüber nachdenken, im prinzip wenn man die eingabe nicht über readln macht sondern direkt über keyabfragen könnte man sowas machen, mal gucken

Viel Spass und danke fürs probieren.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
05.02.2021, 19:19 Uhr
maleuma



Das ist kein Fehler im ML-DOS, dass es nicht läuft wenn Du es danach unter MicroDOS laufen lassen willst. Das liegt einzig an der unterschiedlichen TPA-Größe.
Turbo Pascal nimmt automatisch das aktuell verfügbare TPA-Ende und erwartet dann auch bei der Ausführung des compilierten Programms diesen Speicher.
Bei KC-MicroDOS ist das TPA-Ende fest auf der Adresse C900h, bei ML-DOS ist es unterschiedlich je nach Art und Anzahl der Laufwerke. Meist ist der TPA jedoch größer als bei MicroDOS und das TPA-Ende liegt weiter hinten. Deshalb laufen Programme nicht, die mit einem größeren TPA erzeugt wurden als aktuell verfügbar ist.

Du kannst das Speicherende bei Turbo Pascal aber auch vorgeben. Wenn Du in den Compiler Options bist, die End Adresse begrenzen. Dann sollte es funktionieren.

P.S.
Schön, dass es wieder einmal einen neuen Programmierer für CP/M-Programme gibt
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
05.02.2021, 19:36 Uhr
maleuma



Ich habe das Programm auch mal kurz ausprobiert, läuft unter ML-DOS.
(TPA-Ende bei mir mit NZCOM=CD00H, ohne NZCOM sogar bei DB00H)

Ein Vorschlag zur sinnvollen Erweiterung: das Programm direkt von der Kommandozeile aufrufen, also etwa so:
A>HEX2 12*24
result=288
A>_
Es wird nur diese eine Operation ausgeführt und sofort zum CP/M-Prompt zurück gekehrt.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
05.02.2021, 22:03 Uhr
ALB42



maleuma:

Danke für die Erklärung, ich habe das Ende jetzt auf $c800 gestellt und jetzt geht es, danke sehr, schade das TurboPascal sowas nicht speichern kann ;-) das heisst ich kann das gesamte Program nativ erstellen und packen, sehr gut.

Habe auch eine neue Version gebacken, wo eure beiden Wünsche mit eingebaut sind

History ist mit Cursor hoch/runter die letzten 10 Kommandos (jetzt kann man auch inline edit machen mit Cursor rechts/links, sonst macht ja History auch nicht viel Sinn )

und man kann Rechnungen direkt als Kommandozeilenparameter übergeben (einen oder mehrere) geht auch mit Variablen



Download wieder im Blog

Viel Spass
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
06.02.2021, 10:42 Uhr
Bert



Wer pmext unter CP/M gerade nicht parat hat, kann das PMA-Archiv auch mit lha unter Linux entpacken:

Quellcode:

$ lha --version
LHa for UNIX version 1.14i-ac20081023 (x86_64-pc-linux-gnu)

$ lha x HEX203.PMA
HEX2.COM        - Melted   :  ooo
HEX2.HLP        - Melted   :  o
HEX2.ERR        - Melted   :  o
HEX2.TXT        - Melted   :  o



Grüße,
Bert

Dieser Beitrag wurde am 06.02.2021 um 10:42 Uhr von Bert editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
06.02.2021, 19:07 Uhr
maleuma



Für Windows habe ich nach langem Suchen auch ein Packprogramm gefunden, welches das PMA-Format entpacken kann. Es nennt sich Bandzip
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
06.02.2021, 23:51 Uhr
susowa



Seit 2000 im KC85 Labor:

http://www.kc85.info/index.php/download-topmenu/viewdownload/9-pc-software/90-lha-pma-exe.html

MfG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
07.02.2021, 11:19 Uhr
Heiko_P



Hallo,

das Programm läuft auch mit einem "normalen" CP/M, habe es eben auf meinem AC1 ausprobiert

Gruß
Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
07.02.2021, 14:36 Uhr
maleuma




Zitat:
Heiko_P schrieb
das Programm läuft auch mit einem "normalen" CP/M, habe es eben auf meinem AC1 ausprobiert


Unterschiede dürfte höchstens nur bei den Terminal-Sequenzen (z.B. Cursortasten-Codes, Steuerzeichen zu Cursor-Positionierung, ..) geben. Ansonsten ist CP/M eben CP/M und ML-DOS oder MicroDOS sind auch nur Varianten eines CP/M 2.2 bzw. 2.6
--
Mario.
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