Robotrontechnik-Forum

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

Robotrontechnik-Forum » Technische Diskussionen » Kombi-Modul Software » Themenansicht

Autor Thread - Seiten: -1-
000
04.07.2016, 14:14 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

http://www.sax.de/~zander/z9001/ex/z9002/z92_sys.html

Ich habe lange überlegt, ob ich hier quasi öffentlich reagiere. Ich tu es, denn ich bin es leid, immer wieder als Trottel oder Verweigerer angeprangert zu werden.

ich bitte darum, diesen Thread konstruktiv zu nutzen und Wünsche und Probleme mit der Software fürs Kombi-Modul zu beschreiben!

Ungekürzt folgen die Textabschnitte aus obiger Webseite Stand 23. 06. 2016.


Quellcode:

1. Systemerweiterung und -korrektur
Die TU-ROM-Bank erwartet ein um eine Suchroutine erweitertes Betriebssystem. Bei der Umsetzung ergaben sich weitere Verbesserungen:
- Die Suchroutine ist auch für andere Anwendungen (nicht gleichzeitig) nutzbar.
- Alle Zeichen sind von der Tastatur erreichbar, sofern sie genügend Tasten hat.
   Das betrifft auch den Einsatz der PC-Tastatur nach DL!
   Von der Originaltastatur sind weitere vier Zeichen erreichbar.
- Die Ansteuerung der Erweiterung auf 16 Farben ist auch auf Systemebene möglich.
- Mit je einem Tastendruck kann der Kursor sichtbar bzw. der Zeichensatz umgeschaltet werden.
- Ein Fehler im Betriebssystem ist korrigiert.
Diese Änderungen lassen das System zu 100% kompatibel, werden aber bei der Erstellung der Firmware für den Kombimodul nicht unterstützt. Im RT-Forum habe ich gesagt, man könne ihm Böswilligkeit unterstellen. Da muß ich mich korrigieren.
Es ist Absicht, denn wo kein Wille ist, ist auch kein Weg!


Was ist denn nicht mit der Mega-Flash-Software verträglich?
Funktionieren Deine 16 Farben oder die Tastatur oder der Zeichensatz nicht?
Dass Deine Suchroutine für Dein modifiziertes System nicht allgemein in der Megaflash-Software genutzt wird?
Wo ist das böswillig? Wo ist das Absicht?
Unterstützt das originale robotron-BASIC 16 Farben?
Unterstützt das originale robotron-System eine PC-Tastatur (mit zusätzlichen Tasten)?
Ist das auch böswillig? Oder Absicht?


Quellcode:

2. Programme des Kombimoduls
Eine Programmauswahl ist notwendig, da der Kombimodul einen kleineren EPROM enthält und nur sinnvolle Programme übernommen werden sollten und nicht jeder Schnulli. Leider ist - wie immer - keine Programmauswahl vorgenomen worden, sondern der Inhalt bricht einfach bei gefülltem EPROM ab. Damit fehlt anscheinend auch die Unterstützung von USB und Weiterem, was im Megamodul "weiter oben" liegt.



Für die Größe des EPROMs für den Kombi-Modul gibt es extra ein Byte zum Patchen oder alternativ einen
Eintrag in der Konfigurationsdatei. Die Programmauswahl erfolgt nach Größe des EPROMs.
Für Mega-Flash (immer 2.5 MB) und Kombimodul erfolgt die Softwarezusammenstellung getrennt.
Da wird nichts einfach abgeschnitten.

minicpm ist im Kombi-Modul nicht mit drin, da nicht fürs Kombimodul verfügbar.
Die ROM-Disk müsste wegen der wechselnden Bankgrößen anders angesteuert werden.
Und die ROM-Disk müsste wohl auch wesentlich kleiner werden. 800K bei max. 1MB ROM nur dafür
zu nutzen erscheint mir zu viel.


Quellcode:

3. Funktionsweise des Kombimoduls
Der Kombimodul braucht die Verlagerung des CCPs in den RAM bei Verwendung des neuen Betriebssystems nicht; Anwender, die das System nicht getauscht haben, aber schon. In Abhängigkeit vom Betriebssystem kann man zwei Varianten starten. Das ist kein großer Aufwand, macht aber den Umgang mit dem Kombimodul geschmeidiger und man sieht etwas.


Es wird kein CCP in den RAM verlagert! Um Nicht-OS-Programme (wie Basic-Programme, RAM-Programme etc.) zu laden, braucht man etwas Code, um diese Programme zu laden.
Entweder schreibst du für jedes Programm eine eigene OS-Routine dafür, z.B. mittels LDIR, oder Du nutzt die allgemeine und vielfältigere Variante des FA-Rahmens und den zentralen Code zu Suche und zum Starten von FA-Programmen. Dieser zentrale Code steht auch nicht im RAM, sondern in Bank 0.

Quellcode:

- Ja, ich möchte gern, daß das Bankschalten sichtbar ist. Es ist der Kombimodul!


Es ist sichtbar. Und extra für dich auch als Byte rechts oben auf dem Bildschirm,
nicht nur im Modul.

Quellcode:

- Ja, ich möchte gern, daß das auch beim DIR-Befehl funktioniert. Es ist der Kombimodul!


Ich hatte das testweise auch hier eine Warteschleife implementiert.
Doch das verlangsamt DIR und MENU extrem. Die Suche mit "DIR muster" und auch der Start von MENU ziehen sich.

Quellcode:

- Ja, ich möchte gern, daß nach dem Aufruf eines Programms nicht 00 in der Anzeige steht. Es ist der Kombimodul!
   Es sollte die Bank angezeigt werden, in der das Programm arbeitet. Diese brauchen keinen FA-Rahmen.
   Programme, die im RAM laufen (wie z.B. MC- oder BASIC-Programme), sind ausgenommen.


Das ist doch schon seit der allerersten Version des Mega-ROMs der Fall. ROM-Programme zeigen die Bank an, schließlich ist die Bank aktiv!
Das sieht man ständig bei BASIC-Programmen: Es wird z.B. Bank 02 angezeigt.
Ich hab extra für Dich viele Stellen im Code geändert, um nach dem Laden eines FA-Programms die Bank beizubehalten, damit diese Nummer angezeigt wird. Das ist nicht immer
praktisch. Besser ist es wie in den Vorversionen, bei FA-Programmen wieder zurück auf Bank 00 zu schalten.

Quellcode:

- Ja, ich möchte gern, daß die Bankanzeige in der rechten oberen Ecke des Bildschirms anders funktioniert. Es ist der Kombimodul!


Und wie anders? Das hab ich Dich schon so oft gefragt...

Quellcode:

   Immerhin wurde jetzt verstanden, daß IDAS und ZM in einer Bank stehen müssen. Sie sollten sich aber nicht wegschalten, wenn man sie
   verläßt. Ich arbeite mit diesen Programmen!
Der Grund:
Aufruf von ZM - Verlassen und Aufruf von IDAS - Setzen von RST38H als Haltepunkt im Programm - beim Übersetzen hält das Programm an und springt in den ZM ...  und der ist nicht mehr da!!!


Entweder startet ZM als RAM-Version, z.b. ZMA8. Dann liegt der ZM immer im RAM bereit.
Bei Nutzung von IDAS (egal ob RAM-Version oder ROM-Version) ist der ZM da und kann genutzt werden. Oder man packt das originale IDAS-Modul auf eine freie 10k-Bank.
Das hab ich nun auch für Dich so gemacht. Nur mit dem Beenden ist es so eine Sache:
Wenn nach Ende des IDAS die IDAS-Bank aktiv bleiben soll, kann nicht der Suchcode aus Bank 00 genutzt werden. Aber wo ist das Problem, die Logik der Mega-Flash-Software zu nutzen? "IDAS" starten, IDAS-Bank ist aktiv, IDAS beenden, 00-Bank ist aktiv.
"ZM" starten, IDAS-Bank ist aktiv, ZM beenden, 00-Bank ist aktiv.
Du kannst auch mit "RUN F000 06" das Modul hart auf Bank 6 setzen. Dann ist das wie ein normales 10K-ROM-Modul ohne Mega-Software etc.

Quellcode:

Wie oben gesagt: Wo kein Wille ist, ist auch kein Weg. Ich habe mir die Finger wund geschrieben. Ich habe vor der Tastatur knieend meine Bitten geäußert. Es half nichts.


Ich habe aus meiner Sicht alle Deine Wünsche eingearbeitet, auch auf Kosten der Funktionalität für die Mega-Module.

Quellcode:

4. Schlußbetrachtung
Die Firmware enthält 3 (drei) BASIC-Interpreter. Einer davon ist nur für die Unterstützung der KRT-Grafik notwendig. Was der dritte macht, weiß ich nicht. Da wird also kein Aufwand gescheut.
Ebenso wurde dafür der ZM gehackt. Die eingesetzten Versionen des ZMs sind nicht von mir im Kombimodul favorisiert.


Das dritte BASIC im Mega-Flash ist das originale BASIC86. Eine kurze Frage an mich oder der Blick in packedroms.asm hätte Dir Antwort gebracht. Es ist nichts "gehackt", sondern Inkompatibilitäten der Programme sind korrigiert. Das betrifft beim ZM lediglich die Art, wie dessen Treiber ins OS eingebunden werden. Das Original hält sich nicht an die Vorgabe des Betriebssystems, sondern überschreibt einfach die Gerätetreibertabelle des Systems.
Eigene Treiber sind damit bei Nutzung des ZM nicht nutzbar!

Quellcode:

Es ist nicht sinnvoll, eine Version der Megamodulfirmware für jede Hardware (Kombi/64K-SRAM/Mega) einzusetzen. Da muß man schon etwas mehr Aufwand investieren. Es gibt Programme, die machen scheinbar nichts. Nach deren Aufruf meldet sich der Prompt. Wurden sie geladen? Was bewirken sie? Keine Ahnung.


Es gibt 2 verschiedene Versionen, die sich in Code und Zusammenstellung unterscheiden:
Jeweils eine für die Mega-Module und eine für Deine Kombi-Module/64KSRAM-Module.
Mache Programme machen scheinbar nichts? Ja, wenn der Programmautor das so programmiert hat, dann ist das so. RTC z.B. gibt bei nicht vorhandener Uhr gar nicht aus. Die meisten
Treiber sparen ein paar Byte Speicher und verzichten auf Meldungen.

Quellcode:

Ich bin kein Starprogrammierer, aber ich muß: und werde mich - hoffentlich mit Erfolg - mit dem blöden AS (Arnold-Assembler) auseinander­setzen. Welcher Anwender bemüht den AS um eigene Programme einzubinden? Das ist für die Verbreitung des Z9001 ein großes Hindernis. Das können nur sehr wenige.


Ich weiß nicht, warum der AS blöd ist, nur weil Du ihn nicht benutzen möchtest?
DL, Alwin, und andere haben kein Problem damit. Änderungen an der Software sind in wenigen Augenblicken erledigt. Beschrieben ist das alles in der "liesmich"-Datei (nomen est omen) oder unter http://hc-ddr.hucki.net/wiki/doku.php/z9001:software:mega#kompilieren

Quellcode:

Anders beim Kombimodul. Hier sind die Programme nicht in 2K-Blöcken über mehrere EPROMs verstreut und man kann eigene Pro­gramme mit dem entsprechenden Rahmen einfach anhängen.
Gut finde ich:
- die banküberschreitende Ablage von Programmen im FA-Rahmen bei unterschiedlichen Bankgrößen
- die Verlagerung des CCP nach außen für die Puritaner (oder man drückt die RESET-Taste...)
- die Lösung für das Einbinden des BASIC-Interpreters
- die DIR-Suche
- die unauffällige Arbeit des Entpackers
- und den FA-Rahmen, Voraussetzung für verschiedene Eigenschaften der Megasoftware
   Er ist aber nicht in allen Fällen sinnvoll.
Dann mach doch bitte, bitte, bitte eine Version nur für 64K-SRAM- und Kombimodul mit den erbetenen Eigenschaften. Ich küsse Deine Fußsohlen. Untertänigst. ... aber das hatten wir schon mal vor einem Jahr.


Und nochmal die Frage: Welche Änderungen wünschst Du Dir konkret?
Immer wenn ich Dir was geändert habe und was zum Testen schicke, kommt keine Rückmeldung oder irgendwann seltsame Kommentare auf Deiner Webseite (wie im Vorwort).
--
VolkerP

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

Dieser Beitrag wurde am 04.07.2016 um 14:22 Uhr von volkerp editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
04.07.2016, 16:21 Uhr
DL
Default Group and Edit


Ja, mit dem Programm Reset.com aus dem CP/A hab ich da ein Problem, das schaltet die Bank nicht mehr auf 0 und ich lande da irgendwo zwischen den Welten, bei einer früheren Version ging das mal. Gut, ich habe das noch nicht näher untersucht, aber evtl. fällt Dir da spontan etwas zu ein.
Dieser Beitrag wurde am 04.07.2016 um 16:21 Uhr von DL editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
05.07.2016, 12:45 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Eigentlich soll Reset einen CP/M-Kaltstart machen, zumindest deute ich den Code so.


Quellcode:

; File Name   :    RESET.CPM

        cpu    z80
        
        org     100h

        nop
        nop
        nop
        ld    hl, (1)
        dec    hl
        dec    hl
        dec    hl
        jp    (hl)

        end



Ich muss mir mal den Kaltstartcode des CP/M anschauen.

Nutzt Du das Kombimodul? Als Abhilfe würde ich empfehlen, Zeile 880 in packedroms.asm so zu ändern, dass die Systembank nach Start eingeschaltet wird (+ft_systembank).


Quellcode:

    addfile    "vp/bootmodl.bin.pck",            0400h,    ,    ,    "BOOT",        ft_MC+ft_packed+ft_systembank,    fk_cpm,        "boot robotron"
    addfile    "vp/boot_zfk.bin.pck",            0400h,    ,    ,    "BOOTZFK",    ft_MC+ft_packed+ft_systembank,    fk_cpm,        "boot rossendorf"


--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
05.07.2016, 13:35 Uhr
DL
Default Group and Edit


danke @volkerp, das funktioniert, so lande ich wieder im XOS :-)
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