Beiträge von Markus

    So das XMS test Programm läuft dann soweit erstmal.


    es prüft ob ein XMS treiber vorhanden ist

    Code
    //prfen ob XMS-Treiber installiert
    asm{
        mov ax,4300h;
        int 2fh;
        //al=80h (128) = Treiber OK
        mov XMScheck,al;
    }
    //INFO >>
    print(1,2,8,"XMS treober aktiv (128 / 0x80 = OK) :");
    print(40,2,7,XMScheck);

    danach wird die Adresse vom XMS Handler erfragt


    danach wird keine interupt mehr verwendet.


    jetzt wird abgefragt wieviel speicher verfügbar ist und wie gross der grösste Block ist.


    Ein Block von 1000kb wird reserviert und dem Block wird ein Handler zugewiesen.



    danach kommt man in eine Schleife welche 2 funktionen hat.

    1. Inhalt der Variable test1 in den reservierten XMS Block kopieren

    2. Inhalt aus XMS Block kopieren nach Variable test2


    Im Programm wird der Inhalt von Variable test1 / test2 oben nebeneinander angezeigt.




    beim beenden wird der Block wieder frei gegeben.


    Code
    //XMS Handle frei geben
    if (XMShandle>0){
        asm{
            mov dx        ,XMShandle;//Handle welches frei gegeben werden soll
            mov ah        ,0Ah
            call XMSvec;
        }
    //INFO Block freigeben
    print(1,9,4,"XMS Handle frei gegeben");
    print(25,9,12,XMSbblock);


    ...man kann blöcke kopieren obwohl keiner reserviert wurde... das kann etwas unschön enden, weil hier dann in Handle 0 geschrieben, das sind die ersten 1MB...

    also darf funktion 7 nur verwendet werden wenn zuvor alles ohne Fehler durch lief.








    hier nochmal das ganze.

    Hier diese Seite geht ganz gut auf das wesentliche ein. Ich denke das für die meisten Programme relevante wird erklärt.


    Bisher kann ich Speicher an einen Handler binden/reservieren, diesen wieder freigeben und schauen wieviel Speicher frei ist und wie grosß der größte Speicherblock an einem Stück ist.


    @root ...denke auch 2x Dosbox ist am einfachsten auf dem neuen. Beim 386 werde ich einfach Borland beenden, wobei ich dort seltener den Compiler anwerfe.

    Oder ich muss tricksen, Speicher reservieren, Compiler starten und welchen frei geben. Die Kiste hat 16MB Simms, eventuell funktioniert das auch.

    von root kommt ja bald was zum Thema EMS, ich habe jetzt angefangen das Thema XMS ab zu arbeiten.


    über einen Adress Call wird hier gearbeitet um im Speicher zu "basteln". Ich denke es sollte also schneller wie mit Interrupt arbeiten.

    Muss ich aber noch alles auf dem 3er testen.



    so habe angefangen ein Beispiel für XMS zu schreiben.

    in der >Main< werden schon alle Funktionen zum arbeiten mit XMS behandelt.


    Interessant hierbei, Borland C++ 3.1 reserviert sich den kompletten Speicher!!!!! Man muss also zur Ausführung den Compiler beenden und dann das Programm öffnen, ansonsten wird halt immer gemeckert das kein Speicher verfügbar ist.


    Ist alles noch was Chaotisch da es nur ein Test ist.





    Der Schiebeschalter ist der Umschalter Grafikkarte.


    Das war der schnellste IBM bis zu den PS/2 Rechnern. CPU hatte 6MHZ war damit zwar etwas langsamer wie die letzte AT Board REV, aber der Ram ist schneller, der hat keine Waitstate wie beim AT.

    Dadurch ist der Rechner schneller wie der AT.


    Darüber hinaus ist das Board schon was kompakter und das erste IBM welches SIMM Sockel hat.

    Ich vermute hier passen nur die Originalen IBM Simms rein, beide meiner Boards haben diese Bestückt. es handelt sich um 2x256KB Module.

    Auf dem Board sind auch nochmal 128 KB Ausserhalb der Sockel, diese lassen sich wohl über Jumper deaktivieren.

    Vermutlich falls es Konflikte mit Erweiterungskarten gibt, die AT Erweiterungskarten Adressieren ja ab 512KB und der XT286 hat 640kb!


    Das ganze ist auf der Seite hier gut dokumentiert.


    minuszerodegrees.net


    [Blockierte Grafik: https://www.minuszerodegrees.net/5162/motherboard/5162_motherboard_ram_location.png]

    Mal ein etwas unkomplizierterer IBM wie die PS/2 Kisten.


    Ich habe zwar einen kompletten funktionierenden, aber da die Dinger ja recht schwer zu bekommen sind konnte ich nicht nein zu einem ersatz Board sagen.


    Wenn ich irgendwann meine 386 Spiel Engine fertig kriegen sollte, muss ich auch mal Programme für die alten IBM's machen. Man hat viel zu wenig Zeit.

    neue 3D Karten.


    1x klassiker Elsa TNT2 Pro.


    1x Bansheeeee...konnte ich grad nur unter DOS kurz testen... der andere Testrechner hatte keinen AGP Slot frei.


    1x Voodoo 1


    lief im Testsystem relativ flott.


    Mein Highscreen Minitower war der Testrechner für die Voodoo 1 unter DOS Tombraider 1... 30FPS ist ganz ok für einen 486 DX2-66


    Leider haben alle Karten super laute Lüfter werde die wohl alle tauschen müssen... nur wogegen.

    auf der CD sind die Beispiele und eine 300MB Datei... die ist vermutlich gepackt und die Daten sind nur über ein Programm auf der CD zugänglich.

    Ich werde das mal auf einem kleinen Rechner, mit CD installieren und dann mal schauen ob da noch was ist.


    Wenn ich die CD hoch geladen habe gebe ich hier noch den Link durch.


    weg über den Fluss suchen

    ....

    Theke ... saufen ... !

    Voodoo 3 finde ich nicht mehr so interessant, was eine Voodoo 3 braucht, läuft auch fast immer auf meiner TNT2 Pro oder Geforce.

    Bei mir genau andersrum, V3 ist quasi identisch mit V2 SLI, man hat dann aber nur eine statt 3 Karten im System und auch einen super 2D Teil.

    Sollte ja auch nicht abwertend der V3 gegenüber sein jetzt.


    V1 V2 finde ich halt wegen der DOS Titel so interessant, waren damals halt die ersten verbreiteten Karten.

    Neuere Spiele waren dann ja später alle Direct 3D / Open GL / Windows da gibt es schon massig verschiedene brauchbare Karten für.

    Aber unter Dos war das halt noch was besonderes ...und eventuell kann ich ja irgendwann mal was drauf programmieren... wenn ich nicht zu blöd dafür bin.


    habe auch noch eine "Nummer 9" hier, so aus interessa an frühen 3D Karten.

    Ich arbeite momentan wieder was mehr mit Borland c++ 3.1, DOS war schon manchmal anstrengend damals. Heute da man es nur als Hobby betreibt sieht man es alles etwas gelassener und man kann ja auch einfach auf dem Rechner arbeiten der schnell genug ist für das was man vor hat.


    Man versteht gleich viel mehr warum damals die Programme so waren wie sie waren und welche Systeme welche Schwachpunkte hatten.


    ....Leider hat man immer viel zu wenig Zeit um dran bleiben zu können.


    Den 386DX als ersten 32Bit Prozessor fand ich immer sehr interessant.

    Dann hat vermutlich der Vorbesitzer die ganzen Co Prozessoren ausgebaut und separat verkauft, weil sonst wären die ja nicht darauf beide eingestellt.

    Wobei die Co Prozessoren bis zum 486 auch nur selten verwendet wurden.

    Als Programmierer versucht man Berechnungen die den Co Prozessor verwenden möglichst zu umgehen, weil diese selbst mit Co Prozessor ziemlich viel Leistung fressen.