Beiträge von Amadeus777999

    Habe etwas Warcraft im Netzwerk probiert und konnte dadurch auch die Errichtungsanimation des "Haupthauses" beobachten... sehr legendär nach über 20 Jahren was Neues zu sehen. Einfach grossartig.


    Was mir im Netzwerk aufgefallen ist, ist das die Dungeons, zumindest jene die ich gesehen habe, keinerlei Minen besitzen. Wenn man also naiv eine Partie mit Bauern beginnt, dann hat diese nicht wirklich Sinn. Was zusätzlich zu bemerken wäre, ist das die Allgemeingegner(Monster in den 2 Höhlenmissionen wie "Bandit, Blob und Co.") ruhig, wie bei WC3, auf der map in Multiplayer spielen platziert hätten werden können. Somit wäre einer Art von "Geplänkel" Genüge getan worden. SCHADE das die Spiele durch den Entwicklungsstress immer so abgezwickt worden sind und dann keine Zeit, oder Geld, da war um eine abschliessende & professionelle Erweiterung zu produzieren.


    Haben auch QTest probiert und das war total kultig - aber ich muss noch mehr spielen um hier eine Meinung abzugeben. Die Todesanimationen sind schon mal ganz witzig!

    Sofern ich mich richtig erinnere kam diese "LAN" Testversion im Februar 1996 raus. Ein Freund vom Gymnasium hat mir dann im Juni oder Juli 96 eine cdrom gebrannt(totale Sensation für mich da er "internet" hatte) wo QTest und die Blood Alpha(und screenshots von anderen Titeln) drauf waren. Witzig war das ich nach Starten der QTest nicht den Befehl wusste um die maps zu laden(war eh alles in einer Textdatei angegeben) und den Kollegen extra anrufen musste... amüsiert mich noch heute.


    Eien Seite die sehr gut die Netzwerkfaszination der älteren Titel, im Bezug auf Doom, widerspiegelt ist Doom LAN pictures by Nathan. Einfach die Mitspieler herumlaufen zu sehen war, zumindest für mich, voll die Sensation!


    Und bezüglich Quake wäre da der Quake Launch Event. Interessant, und sehr beeindruckend, sind dann auch die späteren Clan 9 matches und natürlich Thresh's Siegeszug beim Red Annihilation tournament. Konnte dazumals nicht glauben das man so gut in Quake sein konnte - ich war fähig im Netzwerk die meistens der Mitspieler zu plätten aber was die Profis an "skill" aufwiesen war surreal... sehr ernüchternd. Es sei noch bemerkt das der Pentium Pro Die CPU für sehr frühe Quake "Connoisseure" war.

    Gibt es nicht viele der features in der Liste(bis natürlich z.B. auf 64bit unterstützung) in diversen DOS Derivaten?


    Natürlich wäre ein total neu geschriebenes OS, welches sich wie DOS präsentiert, jedoch intern anders arbeitet, eine interessante Idee. Das Problem wäre halt die etablierte software, welche ja dann wiederum in einer Art Emulationsumgebung laufen würde. Neue "super"-applikationen würden natürlich, ohne "Ballast", laufen können.


    Da es aber seit sehr langer Zeit die Dos Extender gibt(Massenmarkt ab den frühen 90igern) wäre ein SuperDOS64 nicht ganz praktikabel, denn es würde eigentlich wie früher Hilfsprogramme brauchen, die von einer Welt in eine andere übersetzen(siehe WoW in win64).


    Software, egal ob real mode oder DOS Extender nutzend, dessen source man kennt, müssten zusätzlich neu "portiert" werden, um das neue System nativ zu nutzen. Die nutzen alle services des OS und BIOS(welche der Extender teilweise ersetzt oder umsetzt).


    Wie ist das mit dem BIOS bei neueren Systemen? Könnte dort das neue DOS mit leistungsfähigeren services punkten und wie würde es trotzdem kompatibel bleiben?


    Dann Treiber für "moderne" hardware - wer kann, will und darf die entwickeln?

    DOS ist super, allerdings weiss ich nicht ob / wie ein neues, modernisiertes, sinnvoll funktionieren soll - ausser als rein idealistisches Projekt.

    Naja, also die Gold ist mir für das alte System zu neumodisch. Ich hab eine AWE(Value / SB32) bekommen und die finde ich "perfekt" für die 486er.


    Soundfonts würde ich gerne nutzen, da die Karte mit 2 alten ram sticks kam.

    Die Karte wird vom board als pnp erkannt(SB32 pnp) und läuft leider trotzdem nicht einwandfrei. Ich werd bei Zeiten mal einen scan versuchen oder w98 installieren.

    Amadeus777999 Ein Blick in meine alten PC-Zeitschriften besagt aber, dass die 486 DX-2 66 ab Werk gekühlt wurden.


    Nicht nur passiv sondern sogar aktiv mit Lüfter ;)


    Sehr interessant, Danke.


    Ich habe diese eigenartige Erinnerung wahrscheinlich von einer zweimaligen Geschenkgabe in den sehr frühen 2000ern. Zwei Leute haben mit dazumals ihren, recht grossen, 486er vermacht, wobei beide Dx2-66er ohne jegliche Kühlung waren. Beide VESA Local bus system die ich, leider, vor gut 15 Jahren, geschrottet habe, da die Türme so riesig waren... aus heutiger Sicht eine Todsünde.


    Übrigens hatte ich dort erstmals die Chance das originale Doom zu benchmarken und war geschockt das es nur 27fps auf den 66ern brachte.Die einzige alte cpu die ich dazumals noch aktiv testen konnte war der P60, da fast jeder schon einen PII oder Celeron hatte.

    Ich habe keine der Riva128 Karten in den Geräten non-stop laufen lassen, da ich keine adequate Kühl-Lösung, mechanisch einwandfrei, installieren konnte / wollte.

    Mir wurden die Karten, als Relikt einer vergangenen Epoche, etwas zu heiss und ich habe alle gegen Matrox'e eingetauscht. Obwohl ich die alte Riva noch kultiger finde.


    Vielleicht nur unnötige Panik(weiss ein Techniker hier mehr?) aber ich denke desto kühler die laufen desto besser. Es sind ja eigentlich Museumsstücke die man so wenig wie möglich, bei längerer Nutzung, "stressen" will.


    Ich lass auch die DX2-66er mit einem Kühler laufen.

    Ich habe im board der Revision 2.1(+"neuestes" Award Bios) eine AWE-/SB32 installiert, welche aber leider nicht zu 100% funktionieren will.


    Der "Soundblaster Mode" und digitales playback laufen, jedoch ist die AWE / Midi Funktionalität nicht erhältlich(windows markiert hier mit einem gelben Ausrufszeichen, spezifiziert aber kein konkretes Problem wie z.B. port, etc.).


    Hatte jemand von Euch ähnliche Erfahrungen?

    Assembler ist die simpelste Sprache jedoch hast Du das Problem das die hardware etwas kennen musst. In C passiert das nur in Grenzfällen, in Assembler in "jeder Zeile". Alle kompilierten Sprachen entblössen irgendwann und irgendwie ein wenig vom "Motor".


    Falls Du in x86 Assembler eintauchen willst dann geh die 386+ Route und benutze einen assembler der das flat memory model unterstützt(z.B. Tasm(32), Masm, Wasm, etc.) - dadurch ersparst Du Dir die segment-Problematik und kannst auch die 32bit Register nutzen. Dies wiederum entbindet Dich zusätzlich von den meist unangenehmen Problemen bei Multiplikation und Division von "grösseren" Zahlen(im Prinzip immer dasselbe aber ein wenig einfacher).


    Du kannst das Duo WatcomC und z.B. Tasm(32) benutzen und so "spezielle" Routinen in assembler schreiben und diese dann vom C source aufrufen. Dabei lernst Du auch gleich Funktionsdeklarationen und "calling conventions".


    Das Feld ist riesig aber Du kannst mit einem sehr puristischem Ansatz sehr viel machen. Falls Du ein professionelles source-Beispiel für die Assembler / (Watcom)C Option einsehen willst dann wirf einen Blick auf Alexey's "PCDoom-v2", dem DOS "port" vom originalen Linux Doom code.

    Für speedsys ist der Unterschied der Geschwindigkeit des cache / ram zu gering und daher signalisiert es indirekt, dass keiner vorhanden sei.


    Die schlechten Werte beruhen wahrscheinlich auf den ram / cache timings aber könnten eventuell auch von einer Miskonfiguration der cpu stammen.



    Das board sollte bis 40mhz Bustakt mit allen Einstellungen auf Maximum und ab 50mhz mit einer waitstate beim ram Lesezugriff fehlerfrei laufen.

    Es ist ein wenig langsamer als z.B. das HOT433 oder das GA486-AM/S aber noch immer schnell genug.

    Danke.


    Kannst du bitte eine komplexe Deklaration nennen die man durch eine einfache Sache ersetzten kann.


    Gruss


    Das offensichtlichste Beispiel wären Funktionen die Zeiger auf (eine) Funktion(en) returnieren.

    Hier wird der Syntax schnell komplex und unübersichtlich. Vereinfachen kann man so etwas mit dem typedef keyword, welches es ermöglicht user-spezifische Typen mit einem neuen Namen zu verzieren(es entsteht kein neuer Datentyp!).


    Z.B.:

    Der user will eine Funktion schreiben die je nach eingegebener Datentypgrösse in bytes den jeweils richtigen Zeiger auf eine entsprechende Vergleichsfunktion(char, short, etc.) oder "NULL" liefert.


    Die allgemeine Deklaration solch einer Vergleichsfunktion könnte z.B.


    int Cmp_<Datentyp> (const void*, const void*);


    lauten. (Pseudopolymorphismus)

    Also daher für die gängigen Datentypen die Vergleichsfunktionen


    int Cmp_Int08( const void*, const void* ){ /* code */ return r; }

    int Cmp_Int16( const void*, const void* ){ /* code */ return r; }

    int Cmp_Int32( const void*, const void* ){ /* code */ return r; }

    int Cmp_Int64( const void*, const void* ){ /* code */ return r; }


    deklariert.

    Die (zur Zuteilung der Zeiger auf oben deklarierte Funktionen) verantwortliche Funktion sieht nun nicht sehr schön aus


    int ( *Cmp_SelectFp(const int type_size) )(const void*, const void*)

    {

    int (*fp)(const void*, const void*);


    switch ( type_size )

    {

    case 1: fp = Cmp_Int08; break;

    case 2: fp = Cmp_Int16; break;

    case 4: fp = Cmp_Int32; break;

    case 8: fp = Cmp_Int64; break;

    default:

    printf( "Warning: Unkown - %i bytes.\n",type_size );

    fp = NULL;       

    }


    return fp;

    }


    da man die Deklaration verschachteln muss.

    Hier hilft uns das typedef keyword aus der Patsche mit dem wir den "neuen Datentypen" Cmp_Fp deklarieren


    typedef int (*Cmp_Fp)(const void*, const void*);


    mit dem unsere neue Funktion nun wesentlich einfacher, im Bezug auf den zurückgegebenen Datentyp, zu verstehen ist


    Cmp_Fp Cmp_SelectFp( const int type_size )

    {

    int (*fp)(const void*, const void*);


    switch ( type_size )

    {

            case 1: fp = Cmp_Int08; break;

            case 2: fp = Cmp_Int16; break;

            case 4: fp = Cmp_Int32; break;

            case 8: fp = Cmp_Int64; break;

            default:

                printf( "Warning: Unkown - %i byte.\n", type_size );

                fp = NULL;    

    }


    return fp;

    }



    Ähnliches Prozeder kann man auch mit Zeigern auf arrays betreiben, aber da muss ich mir noch ein adequates Beispiel ausdenken, da es hier mehr Details gibt.


    In der "Schule"(Kolleg) waren sogar die Professoren zu feige sich damit auseinanderzusetzen... und sowas schimpfte sich Programmierer. Die Zeiger sind sofort entzaubert wenn man in Assembler mal sowas wie "mov eax, dword ptr [ebx]" benutzt hat. Alles andere in C ist meist "Syntax".


    Anfangs schwer ist dann nur sich genau vorzustellen was man konkret machen(mehrdimensionales Feld z.B.) will und wie man es formuliert / deklariert - komplexere Deklarationen sind oft verwirrend aber nicht erforderlich(es sei denn man beansprucht sich in C wirklich auszukennen).

    Ein Programm wie Doom z.B. benutzt als komplexeste Variante "Zeiger auf Zeiger" für einige Datanstrukturen(z.B. Texturen, Farbwerte, etc. ).


    root_42 - sehr gutes Video!

    Im Hintergrund ist immer herumexperiementiert worden und manche Normalsterblichen werden hin und wieder deswegen draufzahlen. Wo soll man sonst geeignete Testpersonen ohne "Vorbehalt" herbekommen?


    Ob das Virus aus der Retorte kommt, oder nicht, ist eher unwesentlich. Viel wichtiger ist das die gezielte Panikmache benutzt werden kann um vielleicht Massnahmen zu setzen die unter "normalen Zuständen" nicht so leicht umsetzbar wären. Zumindest sehe ich ein Potential für einige Milliarden bezüglich von Medikamenten... und ich heisse nicht mal Pfizer.


    Das die Etablierten immer Richtung "Verschwörungstheorien" schiessen ist kein Wunder - das einstige Macht- und Manipulations-monopol ist, zum Glück, verschwunden. Mögen viele der einstigen Lohnempfänger sich am Arbeitsamt den geweiteten Arsch wundreiben... was ja noch eine milde Strafe für Informationsfärbung, Faulheit und Oberklassenliberalismus ist.


    Leider sind zuviele Infos auf youtube und co. die den Sinn der "freien Medien" ins Lächerliche ziehen.

    Ein wirklich gutes Video!


    @funkheld - Bei den port-Zugriffen könntest Du sicherheitshalber statt einen Fixwert zu schreiben vielleicht besser einlesen, maskieren und zurückschreiben. Da ich keine Pascalkenntnisse habe, kann ich Dir leidern keinen code "spenden". Stattdessen empfehle ich Dir Pascal ModeX.


    Es sind vom VGA Ram nur 64KiB eingeblendet und der Rest mittels hardware erreichbar - im obigen Video von root_42 ist das sehr gut erklärt.