Neuer User: DOSferatu

Stellt Euch der DOS-Forum Community vor!
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Beitrag von DOSferatu »

Odin hat geschrieben:Was ich sehr interessant finde ist, dass Du Dein gesamtes "PC-Leben" auf einen alten 486er beschränkst.
Er kann alles, das mich an Computern interessiert. Die Dinge, für die man ultraschnelle Kisten oder 3D-Grafikkarten oder "moderne Betriebssysteme" braucht, interessieren mich nicht. Im Gegenteil: Oft kann man mit ultraschnellen Kisten oder modernen Betriebssystmen manche der Sachen, die mich interessieren, gar nicht mehr tun. Ich empfinde den 486er also nicht als Beschränkung.
Odin hat geschrieben:Ich denke, dass man in der heutigen Zeit kaum noch ohne einen halbwegs aktuellen Rechner auskommt.
Das trifft nur dann zu, wenn man den ganzen Kram benutzen will, der heutzutage gemacht wird. Und übrigens unterscheidet sich der Kram kaum von den Dingen, die damit vor 20 Jahren gemacht wurden. Es gab z.B. auch vor 20 Jahren schon Desktop Publishing. Nur brauchte man damals dazu noch keine Gigahertz-Kisten.

Beispiel: "Man braucht ein modernes Betriebssystem, weil man sonst gar keine Office-Anwendungen betreiben kann."
Meine Antwort: "Office-Anwendungen sind stinklangweilig. Sowas würde ich niemals in meiner Freizeit machen."

Beispiel: "Ohne moderne hochgezüchtete PCs mit extravaganten Grafikkarten kann man gar keine echt aussehenden 3D-Kriegssimulationen spielen."
Meine Antwort: "Da habe ich aber Glück, daß mich so etwas so sehr interessiert wie die letzte Wasserstandsmeldung in Neuseeland."

Beispiel: "Man braucht moderne schnelle PCs, um MP3-Songs und MPG-Filme abzuspielen."
Meine Antwort: "Verschiedene Software, die ich hier habe, beweist, daß dies nicht der Fall ist."
Odin hat geschrieben:Das Hauptargument dabei ist, dass ich auch ganz gerne aktuelle Spiele spiele. Und die laufen vielleicht zu 1% auf Linux-Systemen und dann meistens nur mit sehr viel Bastelei.
Tja. Und mich interessieren aktuelle Spiele überhaupt nicht. Die einzigen beiden 3D-Spiele, die mich ein wenig interessiert haben, waren DOOM 1 und Tomb Raider 1. Aber selbst die nur kurz. Spiele wie R-Type, Mario, Turrican und anderen 2D-Kram dagegen spiele ich heute immer noch regelmäßig. An 3D dagegen interessiert mich eher nur, wie man's programmieren könnte (software rendering) - aber zum Spielen von 3D-Zeug habe ich keine Lust.

Und falls es auch mal ein 2D-Spiel oder anderes "Retro"-Zeugs auf "modernen Systemen" geben sollte, quasi als "Rechtfertigung", daß es da auch noch Zeug für mich gäbe: Für 2D und Retro-Style Zeug ist der Einsatz heutiger Systeme überhaupt nicht gerechtfertigt und mit Kanonen auf Spatzen geschossen. (Mit anderen Worten: Wieso gehen Sachen, die früher nur 1 MHz gebraucht haben, heute nur noch auf 1 GHz?)
Odin hat geschrieben:Was ich in jedem Fall nicht könnte, wäre komplett auf eine grafische Oberfläche zu verzichten, weil sie für die alltägliche Nutzung viel angenehmer zu handhaben ist, als eine Konsole.
Tja - da sind wir komplett unterschiedlich. Ich hasse grafische Benutzeroberflächen. Ich hasse Mausbedienung (habe fast nie den Maustreiber überhaupt geladen). Liegt daran, daß ich Computerfreak bin. Ich tippe schnell und ohne aufs Keyboard zu sehen. Natürlich beidhändig, klar. Wenn man ne Maus hätte, müßte man immer zwischendurch das Keyboard dafür loslassen, könnte dann nicht mehr blind und schnell tippen, weil das ja darauf basiert, daß man bei der nächsten zu drückenden Taste den Offset zur Taste, über der die Finger im Moment sind (also der zuletzt gedrückten), "berechnet". Und das wiederum geht natürlich nur, wenn man nicht dauernd die Hand wegnimmt. Desweiteren ist das Drücken von Tasten (Hotkeys) für
den versierten Keyboardbenutzer wesentlich schneller, als mit der Maus erstmal rumfahren zu müssen, bevor man das jeweilige Element anklickt. Viele GUIs oder darauf laufende Programme haben manche "anzuklickende" Funktionen gar nicht mehr alternativ auch mit ner Taste/Tastenkombination belegt, so daß diese langsame Mausschubserei die einzige Möglichkeit ist, damit zu arbeiten. Wenn ich beim Arbeiten mit dem Rechner von solchen Sachen ausgebremst werde, frustriert mich das.

Ergo: Damit der Einsatz einer Maus für mich überhaupt etwas Sinn macht, müßte ich drei Arme haben.

Zum Thema GUI allgemein: Trotz immer schneller werdender Rechner passiert auf den mir bekannten GUIs absolut nichts in "Echtzeit". Anklicken, warten, bis das Programm/das Fenster/die Funktion sich öffnet... Nerv. In DOS ist die Zeit, um eine EXE zu laden und zu starten so kurz, daß sie gar nicht mehr meßbar ist... - und genau so will ich das haben.

Achso, zum Thema "Konsole": Ich habe hier im "Pfad" über 600 Batch-Dateien liegen, die ich also jederzeit von überall starten kann - mit Parametern. Um dieselbe Funktionalität/Geschwindigkeit mit einer GUI ohne Konsole zu erreichen, müßte ich über 600 Icons (mit Verknüpfungen) auf den Desktop legen. Und selbst dann könnte ich beim Anklicken immer noch keine extra Parameter festlegen (außer, wenns immer dieselben sind) - als einziges geht dieses "File auf ein Icon fallen lassen", wenn der Parameter zufällig ein File sein soll. - Nicht alle Leute können eben alles, was sie auf dem Computer jemals tun wollen, mit einer Handvoll Icons darstellen.
Das bedeutet: Selbst wenn ich mal irgendwas auf einem Windows-Rechner machen muß, befinde ich mich 95% der Zeit im "DOS-Fenster" (also der "Windows-Konsole" sozusagen). Die GUI ist für mich nur überflüssiger schwergängiger Ballast.
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Beitrag von DOSferatu »

bttr hat geschrieben:Man, da haust du uns aber wirklich ein paar lange Texte um die Ohren. So viel Geduld habe ich einfach nicht (mehr)! Es gibt ja so wenig Leute, die sich mit DOS beschäftigen, aber so viele Projekte, die auf Unterstützung warten...
Zur Geduld: Meinst Du die Geduld, selbst so etwas zu schreiben oder die, meine Texte zu lesen?

Zu den Projekten: Leider bin ich ein schlechter Teamworker. Mag vor allem daran liegen, daß ich noch nie richtig in nem Team gearbeitet habe. Außerdem kann kaum noch jemand mit meiner altertümlichen Art zu programmieren irgend etwas anfangen. Habe daher aufgegeben, nach Leuten zu suchen, mit denen zusammen ich ein Programmier-Projekt starten könnte. Da trifft man mehrere Arten von Leuten:
1) Den Newbie, der zwar viel Enthusiasmus, aber wenig Ahnung hat. Solche Leute erschrecken sich schon, wenn sie mal ein Array benutzen sollen... - mit Records oder Pointern braucht man dann gar nicht erst anfangen. Klar, da war ich auch mal irgendwann. Nur hab ich dann auch nicht gedacht, daß ich komplexere grafische Spiele schreiben kann.
2) Die Ungeduldigen - das sind Leute, die zwar immer den "totalen Bock" haben, irgendwas zu machen, deren Begeisterungsfähigkeit aber sehr kurzlebig (höchstens 1-2 Wochen) ist. Für die meisten vernünftigen Projekte bräuchte man aber wesentlich länger.
3) Die "Über-Profis", die selbst Tetris in irgendeinem überkandidelten Sprach-Dialekt und mit OOP usw umsetzen würden (und ein 10MB-Tetris bauen, das mind. 500MHz braucht, um spielbar zu sein). Das sind Leute, die so aus der theoretischen Informatik kommen und bei der Planung von kleinen Privat-Projekten immer vorgehen als würden sie ein neues Windows schreiben wollen. (Man kann 3-Mann-Projekte nicht genauso planen/auslegen wie 300-Mann-Projekte. Punkt.)

Könnte bei so Projekten nur was mit Leuten anfangen, die mit meiner Art, die Dinge zu handhaben, klarkommen würden (z.B. weil sie selber die Dinge ähnlich handhaben - oder zumindest nachvollziehen können, warum ich manches so mache und nicht anders.) Klingt erstmal doof - im Sinne von: Wer nicht so ist wie ich, mit dem will ich nix... - Aber sein wir ehrlich: Wenn's anders wäre, würde man sich eigentlich beim Arbeiten nur gegenseitig behindern, stimmt's?

Das heißt, wenn ich mal ein (Spiel)Projekt mit anderen Leuten zusammen machen würde, dann wahrscheinlich eher etwas in der Art, daß ich die ganze Programmierung mache und die anderen Leute machen etwas anderes - z.B. die Grafik, den Levelaufbau, die Musik/SoundFX usw. Könnte natürlich auch sowas sein, daß ich z.B. den Skriptinterpreter schreibe und die anderen schreiben das Skript selbst. Im Klartext: Das, was die einzelnen Leute machen, wäre klar voneinander abgetrennt.

Aber selbst dafür finde ich eigentlich kaum mal Leute, die dazu Lust haben. Es ist mir schon öfter passiert, daß Leute zu mir gekommen sind mit irgendeiner Spielidee und wollten, daß man zusammen ein Projekt startet. Früher habe ich dann immer schon angefangen, loszuprogrammieren - nur um dann festzustellen, daß von deren Seite gar nichts kam, mit immer den gleichen lahmen Ausreden. Also, daß jemand anders zu mir kommt, ich mich bereiterkläre, bei seinem Projekt mitzumachen und ich dem dann ständig hinterherlaufen soll, damit er sich mal für sein eigenes Projekt interessiert - das fand ich dann irgendwie blöd.

Mittlerweile bin ich dazu übergegangen, nicht mehr auf jeden Gedankenfurz, den jemand von sich läßt, zu reagieren. Wenn jemand ein Projekt mit mir machen will, dann soll er erstmal zeigen, was er selber schon gemacht hat, bevor ich dann anfange, etwas zu machen. Auch wenn er selbst nicht programmieren kann/will, kann er ja zumindest z.B. Grafiken oder ne Storyline oder sowas (je nach Genre) zeigen. Bei einigen Leuten dagegen hat man immer eher den Eindruck, daß sie am eigentlichen Projekt gar nichts machen wollen - sondern lediglich am Ende ihren Namen druntersetzen. Und ja - ich würde mich wirklich freuen, wenn mich einer vom Gegenteil überzeugt.

Liegt einfach daran: Ich lasse mein Zeug hier liegen, um für das Projekt eines anderen zu arbeiten, nur um dann 1 Monat später alles in die Tonne treten zu können. In der Zeit hätte ich mich auch um meine eigenen Sachen kümmern können.
Also: Nichts gegen ernstgemeinte Projekte. Aber:
1) Ein Spiel zu schreiben dauert länger als ein Spiel zu spielen.
2) Levels bauen dauert.
3) Grafiken bauen dauert noch mehr.
4) Musiken entwickeln erfordert Talent. Musiken für Computerspiele zu entwickeln erfordert zumindest geringes Computer- und Zahlenverständnis.
5) Ein Spiel zu entwickeln ist nicht so "lustig", wie ein Spiel zu spielen. Es ist ernste Arbeit.
6) Man kann nicht alles in 1920x1600 mit 16Mio Farben machen, auch wenn's besser aussehen würde. Vor allem nicht bei DOS-Spielen.
7) Ich baue DOS-Software. Daß es zufällig in den meisten Windows-Versionen läuft, ist Glück und liegt eher an Microsoft als an mir. Wenn ich kann, versuche ich auch, Windows-Lauffähigkeit anzustreben. Aber ich schreibe keine explizite Windows-Software.
8) Ich baue Low-End-Software. Es soll auch auf kleineren Systemen (langsameren Computern mit schlechterer Hardware) immer noch laufen. Davon weiche ich auch nicht ab. Klar kann man damit keine Spiele á la DOOM 3 bauen. Will ich auch nicht.
9) Coden mache ich aus Spaß. Ich verdiene kein Geld damit. Wer Projekte mit mir zusammen macht, muß sich damit abfinden, daß er (zumindest wenn's meine eigenen Projekte sind) kein Geld damit verdienen kann. Eigentlich sollte das ohnehin klar sein - denn heutzutage wird kaum noch jemand für altertümliches DOS-Zeug Geld bezahlen. Auch dann nicht, wenn es "seinerzeit" gut gewesen wäre.
bttr hat geschrieben:Abgesehen vom C64 (hatte 'nen ATARI 800XE) sieht dein Werdegang (Informatik, Pascal, Assembler, kein OOP usw.) meinem doch sehr sehr ähnlich. Da könnten wir doch glatt prima Freunde werden.
Du wirst lachen - dasselbe habe ich gedacht, als ich Deine Vorstellung gelesen habe. Interessant...
bttr hat geschrieben:Noch ein paar Hinweise:
1. Ein TP-Forum findest du auf [...] Allerdings hat die Qualität der Beiträge stark nachgelassen. Meist sind es dieselben TP-Schulfragen und jemand, der die Unit Graph initialisieren kann, wird als "Guru" gefeiert.
Den Effekt kenne ich, ist auf dem Coding-Board genauso. Liegt eben daran, daß, wenn jemand heute noch Pascal benutzt, daß es dann eben Schüler sind, die es im "Informatik" Unterricht lernen (müssen). Man merkt auch immer, daß dann im Forum innerhalb von 2 Wochen dieselbe Frage von 5 verschiedenen Leuten gestellt wird (zu faul, mal das restliche Forum zu lesen oder die Suchfunktion zu benutzen). Und daran, daß die Fragen so formuliert werden, daß jeder, der nicht völlig dämlich ist, die folgendermaßen übersetzen kann: "Ich hab eine Aufgabe in Informatik gekriegt. Aber da habe ich nur gespielt und im Netz gesurft statt aufzupassen. Oder ich bin einfach zu faul für Hausaufgaben. Kann mir jemand für umsonst meine
Aufgabe machen? Ich will nichts dabei lernen - am liebsten wär mir, wenn mir einer n vollständigen Quelltext schreibt, den ich unverändert abgeben kann..."
Ist leider die Wahrheit. Schon paarmal erlebt. Die raffinierteren tun zu Anfang immer noch so, als würden sie wirklich was lernen wollen oder hätten Interesse an Programmierung. Aber man findet es halt schnell raus. Die heutigen Kids sind halt nicht raffiniert genug. Denn Raffinesse erfordert Intelligenz...

Zu 2.: Ich hab ja hier auch Links auf meine Seite angegeben. Eine Seite sollte nicht die "Konkurrenz" einer anderen Seite fürchten. Wenn einer Seite und deren Betreibern ein Thema wirklich am Herzen liegt, sollten sie sich über jede weitere solche Seite eigentlich freuen. Konkurrenz wäre erst dann ein Problem, wenn es wirklich nur um Geld oder Besucherquoten ginge.
Zu 3.: Ich hatte meine Gründe, im Forum nur "Ostzone" statt eines Ortes zu schreiben (schlechte Erfahrungen im Internet gemacht). Hoffe, das liest jetzt nicht wieder einer der besagten Idioten, dann vermutet er gleich, daß ich es bin.
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Beitrag von DOSferatu »

Locutus hat geschrieben:Ich bewundere Deine spartanische Einstellung ebenfalls.
Hm. Seh das nicht als spartanisch an. DOS hat einige Nachteile und einige Vorteile. Für meine Art zu programmieren überwiegen die Vorteile. Multitasking ist etwas, das bei Spielen nicht gebraucht wird, denn während ein Spiel läuft, passiert i.d.R. nichts anderes. Also dient ein Multitasking-OS während eines Games nur dazu, zusätzlich Ressourcen zu verbrauchen. Muß ich nicht haben.
Desweiteren hat Multitasking den Nachteil, daß man natürlich alles nur noch über (mehrfach) indirekte Zugriffe programmiert. Es ist langsamer als Direktzugriff. Und all die "tricky things", die man mit Direktzugriffen machen kann, kann man dann nicht mehr. Man kann also nur das, was die Schnittstelle einem bietet - alle Programmierer machen da also für exakt dieselbe Funktion auch exakt dasselbe. Gähn. Unkreativ und langweilig.

(Zum Thema Linux)
Daß quasi jeder "sein eigenes Linux compilieren" kann, daß Linux auf nahezu jedes System umgesetzt werden kann und daß Linux-Programme trotzdem zueinander kompatibel sind, kann nur bedeuten, daß Linux mit extrem hardwareferner, extrem indirekter hochsprachen- und skript-orientierter Grütze arbeitet. Das allein ist für mich schon ein Grund, kein Linux zu wollen. Das Linux-/Unix Tantra ist ja "Everything is a file". Also wenn alles - sowohl Filezugriffe, als auch Speicher-, Grafik-, Sound-, Netzwerk- und Externe-Hardware- Zugriffe wie Filezugriffe programmiert werden müssen... - igitt. Filezugriffe sind das langsamste im ganzen Programm. Schon weil Files seriell sind. (Und andere Zugriffe es nicht notwendigerweise
sein müssen.) Ich selbst würde am liebsten nichtmal Filezugriffe wie Filezugriffe programmieren...
Locutus hat geschrieben:Ich verwende also auf meinem Hauptrechner Windows, versuche dabei aber soviel Open Source-Software wie möglich einzusetzen. Das fängt z.B. bei OpenOffice an und hört bei einigen Linux-Anwendungen auf, die ich mir per X11-Forwarding von meinem Router auf meinen Windows-Desktop hole.
Naja. Open Source hat viele Vorteile. Und vom Prinzip her sollte man es ja eigentlich unterstützen. Der Nachteil ist (leider), daß Open Source irgendwie immer n anderes Wort für "langsam" ist. Immer wenn's von nem Programm mehrere Versionen - und eine davon ne Open Source - gibt, ist die Open Source die langsamste. Und immer, wenn ein Programm, das mal ein "Privatprojekt" war, Open Source wird, wird es plötzlich um erschreckende Faktoren langsamer... Naja. Gibt halt nicht weniges Open Source Zeug, das kein Binärcode ist, sondern auf einer VM läuft - kein Wunder, daß die Performance nicht besonders ist. Also: Die Idee hinter Open Source ist gut - die Ausführung leider mangelhaft.

Ich bin nun mal ein Performancefreak (klingt erstmal komisch...)
Aber: Ich stehe auf: "Performance durch optimierte Software" und nicht "Performance, weil ich mir n schnelleren Rechner kaufe".
N schnellen Rechner kaufen kann jeder Idiot. Das ist keine intellektuelle Meisterleistung...
Ich mache mich immer lustig über die Leute, die am Rechner-Wettrüsten teilnehmen. Sie denken, sie wären was besseres, weil sie ja "Computerfreaks" sind (bzw sich dafür halten) aber in Wirklichkeit ähneln sie in ihrem Verhalten eher den Leuten, die sich n Auto mit 3,2-Liter Hubraum kaufen, weil der Nachbar ein 3,0-Liter-Auto hat. Und sowas sind für mich Prolls.
Locutus hat geschrieben:Schön, daß wir einen weiteren Spiele-Programmierer in unserem Forum haben. An dem einen oder anderen Spiel habe ich mich selbst schon probiert, dann allerdings unter C (ohne OOP) und nicht ganz so "systemnah" (d.h. kein Assembler).
Naja, Assembler fing ich vor allem an zu benutzen, weil Pascal mir irgendwann nicht mehr schnell genug war. Und wenn ich sehe, um welche exorbitanten Faktoren ein Programm schneller wird, nur weil man Assembler einsetzt, legts mir jedesmal die Ohren an.

Ich benutze Assembler vor allem in so "Inner Loops", d.h. z.B. wenn ich ein Level darstelle oder Sprites. Also vor allem Dinge, die in Schleifen liegen. Denn wenn man durch Einsatz von Assembler etwas nur 0.001 Sekunden schneller kriegt und die Schleife muß 10000mal durchlaufen werden, spart man 10 Sekunden. Und bei softwaremäßiger 2D- oder 3D-Darstellung (die meist den kompletten Screen neuzeichnen!) müssen alleine bei 320x200 (niedrigste "normale" Auflösung) mind. 64000 Durchläufe gemacht werden. Sachen außerhalb von Schleifen oder Sachen wie manche Variablen- und Datenverwaltungen, die zu komplex für Assembler sind - und bei denen man durch Assembler wirklich kaum etwas spart, schreibe ich in Hochsprache.

Also: Meiner Meinung nach hat sowohl Hochsprache als auch Assembler Sinn - jedes an seinem vorgesehenen Platz. Etwas in 100% Assembler zu programmieren kann Sinn machen. Etwas in 100% Hochsprache zu schreiben, ebenfalls. Aber in der Realität liegt die Wahrheit meist irgendwo dazwischen.

Und: Leider ist heute oft das einzige Qualitätsmerkmal, das eine Software erfüllen muß, systemübergreifend zu sein. Sehe ich eben nicht so. Denn wenn man nicht auf bestimmte Besonderheiten von Systemen eingeht - d.h. alle Systeme so behandelt, als wären sie ein einziges - warum gibts dann nicht gleich nur ein einziges? (Sozusagen einen "allgemeinen Volkscomputer" - einer paßt für alle, CPU kann Java und so.)

Und: Inkompatibilität zwischen x86-DOS, x86-Windows, x86-Linux, x86-BeOS, x86-WasAuchImmer ist sozusagen "hausgemacht". Denn es ist jedesmal dieselbe CPU und dieselbe Peripherie. Computerdaten bestehen aus Nullen und Einsen - einfacher gehts eigentlich nicht mehr. Verstehe nicht, wieso manche Nullen und Einsen zu anderen Nullen und Einsen oder mancher x86-Code zu anderem x86-Code "nicht kompatibel" sein kann...

Meine Meinung zu Betriebssystemen: Wenn Hardware immer noch so funktionieren würde wie früher (Standard-Ports, -DMAs, -IRQs), bräuchte man überhaupt keine Treiber. Und ohne Treiber bräuchte man auch überhaupt kein (oder nur ein sehr kleines) Betriebssystem und allenfalls vielleicht ein BIOS (aber selbst das nicht unbedingt). Ich mag keine Betriebssysteme. Und daß ich DOS benutze, liegt daran, daß es nicht "noch was kleineres" gibt. (Und daran, daß DOS-Zeug auf den meisten Rechnern immer noch irgendwie ans Laufen gekriegt werden kann. Und wenns mit nem Emulator ist.)

Heutzutage dagegen wird neue Hardware so gebaut, daß sie ohne Treiber überhaupt nicht mehr ans Laufen zu kriegen ist. Auf deutsch gesagt: Ohne Treiber hat neue Hardware den Wert eines Briefbeschwerers. Und über die Auswahl, für welche Betriebssysteme man Treiber schreibt, kann man indirekt mitbestimmen, welche Betriebssysteme die Leute gefälligst zu kaufen haben. Da kann man mitmachen. Oder nicht.

Was ich damit meine?
* Grafikkarte hat kein VESA oder Bugs im VESA? - Müll, nicht kaufen. (Und ja, VESA ist eigentlich ein Treiber. Aber einer, der gleich auf der Grafikkarte drauf ist und schon vorhanden, bevor das OS lädt. Also BIOS.) Außer man will nur VGA und sie kann wenigstens VGA.
* Grafikkarte nicht VGA-registerkompatibel? - Noch größerer Müll, Fabrik des Grafikkartenherstellers abfackeln. Und wer sich nicht traut, sollte wenigstens nicht deren Zeug kaufen.
* Soundkarte hat keinen "Sound Blaster" Modus und kann nicht in einen solchen versetzt werden? - Was soll'n der Scheiß...?
* Rechner hat keine Hardware-COM-Ports und -LPT-Ports mehr? - Müll, anderen Rechner holen. Gibt auch welche, die's noch haben.
* Modem ohne Hayes AT Befehlssatz? - Nö, oder?
* Beliebige externe Hardware muß erst über Software "initialisiert" werden, damit sie überhaupt funktioniert? - Warum? Früher hätt's das nicht gegeben. (Wenn das der Kaiser wüßte.)
* Könnte das noch weiterführen.
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Beitrag von DOSferatu »

(Zu Allegro)
Ich stehe auf Low-Level Programmierung. Das macht mir den meisten Spaß am ganzen Programm. Das würde ich niemand anderen machen lassen. Lieber wär's mir, irgendwer/irgendwas würde mir den ganzen "High-Level" Mist abnehmen. Wenn ich ein Tool mit ner Oberfläche schreibe, bau ich immer am liebsten alle "internen" Routinen. Weniger Spaß macht mir, die Routinen zu schreiben, die die Oberfläche steuern. Und am meisten nervts mich, die Oberfläche an sich zu designen. Sowas ist Arbeit für so Designer-Typen, nicht für Programmierer...
Locutus hat geschrieben:Pascal kenne ich noch aus der Schule, habe da aber eher Grundkenntisse. Vielleicht ergibt sich ja mal ein Projekt, an dem man zusammen arbeiten kann. Ich persönlich code aber lieber in C.
Naja - Projekte zum Zusammencoden für uns, da sehe ich eher wenig Spielraum.

1) Du benutzt (eigentlich) kein DOS, da wirst kaum DOS-Software coden wollen. Fast alles DOS-Zeug läuft zwar auch unter fast allen Windows-Versionen (aber in Vista übrigens gar nicht mehr! - wir haben das getestet), aber es würde halt nichts dran ändern, daß es DOS-Kram ist und sich wie solcher verhält.

2) Habe schon mit C gearbeitet, finde aber, daß da einiges viel zu umständlich gehandhabt wird. CPU-Maschinencode ist total einfach. Da ist es nicht zu entschuldigen, daß eine Compilersprache erst mit "Tricks" zu Dingen "überlistet" werden muß, die in Assembler nur 1 oder 2 Befehle wären. (Achja: Und das String-Handling ist ein Alptraum. OK, das kann man sich auch alles selber bauen - war auch das erste, was ich in C gemacht hab...)
Allgemein kann man aber zu C sagen, daß sich die Syntax prinzipiell kaum von der in Pascal unterscheidet, andere Befehle halt (und begin end; sind dort { } ) aber ansonsten gleicher Aufbau.

3) (Schonmal erwähnt) Was für mich persönlich "für Pascal" und "gegen etwas anderes" spricht, ist die Tatsache, daß ich da schon seit über 10 Jahren Units dafür programmiert habe, die ich jetzt nur noch einzubauen brauche, wenn ich triviale Dinge tun will, die ich eben schonmal gemacht habe. In "etwas anderem" (z.B. C oder auch anderen Sprachen) müßte ich alle diese Dinge nochmal komplett neucoden, was mich wieder um Jahre zurückwerfen würde. Und bis ich das alles fertig hätte, würde der Rest der Welt in D (ja, es gibt mittlerweile wirklich einen C-Nachfolger dieses Namens) programmieren und mich davon überzeugen wollen, darauf umzusteigen und ich würde wieder von vorn anfangen müssen.

Es gibt (für einen Programmierer) zwei Ansätze, wie er damit umgehen kann, daß sich Hard- und Software ständig verändern:
1) Er macht jede Änderung mit.
2) Er bleibt an irgendeiner Stelle mal stehen.

- 1) hat den Vorteil, daß er immer "up-to-date" ist, was auch bedeutet, daß seine Soft auf aktuellen Systemen läuft/compilierbar ist - und weiterhin, daß sich mit dieser Art Soft auch Geld verdienen läßt.
Der Nachteil ist, daß er alle Dinge nur oberflächlich betrachtet und kennenlernt - um Kenntnisse in Hard- und Software zu vertiefen oder um eigene Algos und Tricks zu entwickeln, fehlt die Zeit. Denn bis man so weit wäre, daß man eine Hardware oder eine Sprache derart in- und auswendig kennt, wäre sie schon veraltet und man wäre schon wieder bei was anderem. (Man wird nie das Vergnügen haben, rauszufinden, wie etwas wirklich funktioniert - sondern höchstens, wie man es als fertig vorgekaute Funktion aufruft...)

- 2) hat den Vorteil, daß man sich wirklich auf dieses System konzentrieren kann, um "rauszuholen, was rauszuholen ist". Wer sich das gibt, kann also irgendwann "die beste Software, die auf diesem System möglich ist" schreiben.
Hier ist der Nachteil, daß Lauffähigkeit auf aktuelleren Systemen zumindest fragwürdig, wenn nicht gar unmöglich ist. Außerdem ist sowas wie Geldverdienen damit wahrscheinlich unwahrscheinlich.

Also: Wer 1) macht, bei dem geht es vor allem entweder um den Geld- oder den Zeit-Faktor - oder beides. Wer 2) macht, muß "diesen Scheiß wirklich lieben" - kommerziell kann man das nicht durchhalten.
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Beitrag von DOSferatu »

@Dosenware:
Zum KC85/4 habe ich nur das an Dokumentation, das dabei war, also das BASIC- und das Systemhandbuch. Wie elianda richtig bemerkt hat, ist die CPU (U880D) ein Z80-Nachbau, der damals durch Industriespionage zustande kam. Eigentlich sollte also jede Z80-Doku auf den Asm des KC85/4 (sowie jedes anderen Ostcomputers, weil die U880D in jede Kiste eingebaut war!) angewendet werden können. Falls Dich Speicherbereiche und Grafikanordnung interessieren, könnte ich mich (allerdings längerfristig) nochmal schlaumachen. Aber normalerweise sollte The Almighty Internet bei Suche nach "KC85" oder "robotron" o.ä. genügend Material liefern können. - Zum Z80 habe ich Doku hier. Die ROMs des KC85/4 habe ich als Files. Und ich
habe hier sogar einen Emulator für KC85/2, KC85/3 und KC85/4.

Warum ich die Z80-Doku etc damals noch nicht hatte? Naja. Damals gabs noch kein "Internet" in dieser Form (also kein http, html etc) und selbst wenns das schon gegeben hätte, hätts wohl keinen Browser für KC85 gegeben. (Abgesehen davon war damals Assembler für mich "ein großes schweres Wunderding", etwas, das ich nie im Leben je selber hinkriegen würde. Ist immer wieder witzig, wenn ein unbedarfter Laie, der vielleicht seit 3 Monaten BASIC programmiert und sich nichtmal der Existenz eines hexadezimalen Systems bewußt ist, versucht, eine Systemdokumentation oder Assembler-Quellcode zu verstehen...)

Anmerkung: Nach allem, was ich so gehört habe, gibts aber mittlerweile einen Webbrowser für C64. (Selbst noch nie gesehen, frage mich auch im Ernst, wie das mit 64kB Speicher realisiert werden kann.)
- - - - - - - - - - - - - - - - - - - - - - -

Achja: In diesem und einigen der letzten Beiträge habe ich BBCode benutzt, um kursiv oder fett zu schreiben - sieht einfach besser aus als BRÜLLEN. Die Codes erscheinen nicht im Text (werden also gefiltert), erzeugen aber keine Änderung in der Darstellung. An der Seite steht: BBCode ist an. Die Checkbox "BBCode in diesem Beitrag deaktivieren" enthält kein x, sondern ist leer. Ist das ein Bug?
Benutzeravatar
CptKlotz
Admin a.D.
Beiträge: 2946
Registriert: Mo 7. Mär 2005, 23:36
Wohnort: Dorsten
Kontaktdaten:

Beitrag von CptKlotz »

DOSferatu schrieb:
Noch eine Anmerkung: Ich seh das so - Das Internet ist international. Es ist für alle Leute, alle Systeme und alle Browser der Welt gedacht. Und nicht nur für PCs und für den einen Browser, den man selber gerade benutzt. (Und ja, es gibt auch Browser für Amiga.)
Gerade bei Internetseiten und überhaupt bei Zeug, das von vielen Leuten benutzt werden soll, benutze ich lieber das "kleinste gemeinsame Vielfache" - auf die Art funktioniert es bei viel mehr Leuten richtig. Und Seiten, die ich baue, sehen deswegen auf jedem (grafischen) Browser gleich aus.
Dieses Zitat sollte man einrahmen und mal einigen Webdesignern an die Wand hängen.
Wieso um alles in der Welt würde eine Firma, die etwas verkaufen möchte, absichtlich Leute von der Benutzung der Webseite aussperren, weil:

-Die Webseite für Nutscrape oder Internet Exploiter "optimiert" wurde
-Lauter Flash- und Java-Kram drauf ist, der erstens nur ablenkt und stört und zweitens ältere Rechner bis zur Unbenutzbarkeit ausbremsen kann
-So aufwendig ist, daß man sie mit ISDN oder Modem kaum ansehen kann
-Ich mein Browserfenster auf 450x237 Pixel einstellen soll
-Die Seite mit Textbrowsern (und damit auch von Blinden) nicht nutzbar ist
-Die Seite generell so schlecht designt ist, daß man kaum etwas lesen kann (knallbunte Hintergründe, hellblaue Schrift auf dunkelhellblauem Hintergrund (auch wenn sie dabei irre cool aussieht)

Ich kann mir das nur so erklären, daß für Leute, die einen Hammer haben, jedes Problem wie ein Nagel aussieht. Und wenn ich doch all diese tollen, knallbunten Gimmicks programmieren kann, dann juckt es mich in den Fingern, genau das auch zu tun.

Firmenbosse glauben vielleicht auch noch, daß eine Webseite voller Gimmicks beim Kunden Eindruck macht, wobei's mir persönlich extrem auf den Geist geht, wenn auf einer Webseite ungefragt irgendwelche Musik losplärrt oder automatisch irgendwelche Videos geladen werden (es soll ja Leute geben, die am PC Musik hören oder ihre Ruhe genießen).

Im Grunde will ich auf einer (Firmen-)Webseite eine Information haben, und das möglichst schnell - dieser ganze neumodische Quatsch nervt mich und hält mich davon ab. Die nutzerfreundlichsten Webseiten sind meist die ganz simpel designten ohne 1001 Gimmicks.
“It is impossible to defeat an ignorant man in argument.” (William G. McAdoo)
bttr

Beitrag von bttr »

Gerade bei Internetseiten und überhaupt bei Zeug, das von vielen Leuten benutzt werden soll, benutze ich lieber das "kleinste gemeinsame Vielfache" - auf die Art funktioniert es bei viel mehr Leuten richtig.
Deswegen habe auch ich meine Wiki-Versuche (MediaWiki und PmWiki) aufgegeben und bin zu purem HTML mit ein wenig PHP zurückgekehrt. OK, bei meiner verwendeten Foren-Software sieht's ein wenig anders aus, aber die hatte halt einfach die Features (z.B. Baumansicht), die ich wollte. ;)
Zur Geduld: Meinst Du die Geduld, selbst so etwas zu schreiben oder die, meine Texte zu lesen?
Selbst schreiben natürlich. Ich lese gern lange Texte.
Leider bin ich ein schlechter Teamworker.
Ich auch. Als Aufgabenverteiler eigne ich mich noch, aber sonst schreibe ich lieber alles selbst. Ansonsten gehöre ich wohl eher zu den "Ungeduldigen". Allerdings versuche ich gerade das zu ändern. Klappt aber nicht immer. 8-)
Also: Nichts gegen ernstgemeinte Projekte. Aber: (Punkte 1-9)
Sehe ich genauso. Wobei allerdings wohl niemand was dagegen hätte, wenn er über Nacht damit reich werden würde. :lol:
Ist leider die Wahrheit. Schon paarmal erlebt.
Ging mir bei Webplain leider fast täglich so. Deswegen habe ich mich da auch fast komplett zurückgezogen.
Ich hatte meine Gründe, im Forum nur "Ostzone" statt eines Ortes zu schreiben...
Sorry. Ich wollte dich damit nicht bloßstellen. Du hast halt eine Domain und dafür einen Eintrag bei DE***. Somit kann natürlich jeder, der den Domainnamen weiß, herausfinden, wer du bist.
Ich stehe auf Low-Level Programmierung. Das macht mir den meisten Spaß am ganzen Programm.
Ich habe mich damals ('94-'98) gern in BASM-Unterprogramme verrannt, darüber Nächte gegrübelt, probiert, optimiert... Und dann hatte ich keine Lust mehr auf das Hauptprogramm. Sonst hätte es damals mehr von mir gegeben.
Die Codes erscheinen nicht im Text (werden also gefiltert), erzeugen aber keine Änderung in der Darstellung.
Unter Windows sieht's OK. Wird wohl ein Arachne-Bug sein. Definitiv gab's bis vor kurzem ein Problem, daß durchgestrichener Text fett und nicht durchgestrichen angezeigt wurde.

@CptKlotz

Guck dir mal die Seite vom Schokoladenhersteller Sarotti an. :shock:
Benutzeravatar
Sir Ivanheart
Norton Commander
Beiträge: 111
Registriert: Mi 6. Dez 2006, 20:35

Beitrag von Sir Ivanheart »

Herzlich Willkommen auch von meiner Seite.

Wegen Sarotti: Die geöffnete Seite braucht bei mir 60 % der Systemresourcen.
Aber toggo.de ist noch viel heftiger. Letztens war mein kleiner Cousin bei mir zu Besuch und wollte am Computer spielen. Da ist er auf diese Seite gegangen.
Ich habe mir das ein paar Minuten angesehen und ihn dann an den Pentium 1 gesetzt, damit er etwas spielen konnte, bei dem die Gefahr für einen epileptischen Anfall ein wenig geringer war (Tetris).

Aber zurück zum Thema.
Ich kann mich euch nur anschließen. Diese überladenen Seiten machen das Surfen wirklich nicht angenehmer.

Greetz, Sir Ivanheart
Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.
bttr

Beitrag von bttr »

Wegen Sarotti: Die geöffnete Seite braucht bei mir 60 % der Systemresourcen.
OK, das ist nicht nett, aber was sollen immer diese bescheuert scrollenden bzw. langsam aufbauenden Inhalte? Gerade bei der Navigation ist das doch echt ätzend.

Gerade Medienagenturen designen gern alles mit Flash, haben aber von der Umsetzung in eine brauchbare Webseite meist überhaupt keinen Plan.
elianda
DOS-Übermensch
Beiträge: 1150
Registriert: Mi 31. Jan 2007, 19:04
Wohnort: Halle
Kontaktdaten:

Beitrag von elianda »

Mit dem programmieren ist schon so eine Sache.
Ich selbst habe einen C64 seit 1984 und am Anfang damit hauptsaechlich
gespielt und irgendwann 1988 ? mit Basic 2.0 angefangen.
(Ich war da noch ziemlich jung))
Das war als Basic recht performant aber auch spartanisch.
Dann kamen die ueblichen Verdaechtigen, wie
Exbasic Level 2 - auch performant aber hauptsaechlich neues im Bereich program-control.
Simons Basic - von den Features ein gigantischer Fortschritt, aber langsam
Paradox Basic - kleine Befehlserweiterung, dafuer wesentlich mehr freier RAM, brauchte man aber irgendwie nicht.
Austro Compiler - Basic Compiler aber problembehaftet und nur maessige Beschleunigung

Man darf sich das nicht wie heute vorstellen. C64 in der DDR, ich hatte nur das
Bedienungshandbuch und das Programmierhandbuch und Software aus dritter Quelle.
Man konnte nicht mal eben irgendwo Disketten kaufen...

Gegen 1990/91 also nach der Wende habe ich haeufig Zeit nach der Schule auf der
Arbeitsstelle meines Vaters verbringen muessen und die Beschaeftigungsmoeglichkeiten waren begrenzt.
Oft sass ich vor dem 386SX-16 und Norton Commander und die Spiele waren doch sehr begrenzt.
Ich glaube es war Alleycat, Sokoban, Rockford, Blockout und Flight Simulator 4.
Dabei war FS4 noch am interessantesten, wegen der im Vergleich zum C64 hoeheren Aufloesung und
Vektorgrafik.
Irgendwann entdeckte ich Turbo Pascal 6 auf der Festplatte und wie es so kommt,
wollte ich auch mal schauen wie man die High-Res Grafik von 640x480x16 auf den
Schirm bekommt und irgendwas damit machen. Man kann sich vorstellen, dass das doch
eine grosse Umstellung war zum Basic des C64. Integrierte IDE, andere Syntax,
geht nur mit Compiler und gleich mal Unit Graph fuer sein erstes TP Programm nehmen zu wollen...
Ich glaube ich habe meinen Vater mit meinen Fragen da ziemlich beim arbeiten gebremst.
Aber irgendwann hat es funktioniert und die ersten putpixel brachten bunte Punkte auf den Schirm.

Kurz darauf habe ich mit Assembler auf dem C64 angefangen, damals auch noch rein aus dem
Programmierhandbuch. Das hat eigentlich damit angefangen, dass ich mir ein Final Cartridge III geleistet habe,
mit integrierten Monitor + Freezer um anderen Code zu klauen aehh analysieren.

Tja was kam noch in der Zeit. Erfahrung mit Turbo Pascal 3.0 (Turtle Grafik, wer kennt die noch?),
Turbo Pascal 5.5, Power Basic (kompilierendes Basic) und so 1994 herum auch etwas Assembler auf dem PC.
Was kam dabei heraus? Naja so DYCP, DCLP, DYPP in Tweaked Modes und Fullscreen Plasma, irgendwelche Roto Zoomer und
bisschen Voxelspace. SWAG (per Download aus Mailbox) und PC Intern 3.0 sind so bekannte Sachen.

Mit dem Borland Pascal 7 beiliegenden Turbo Pascal fuer Windows 1.0 konnte ich mich nie so recht anfreunden.
Dafuer habe ich auch mal in Turbo Vision reingeschnuppert. Das ist das gleiche UI wie die IDE.

Dann kam ein recht grosser Schwenk und ich habe mit Java angefangen, was damals brandneu war.
Und Applets fuer den damals noch Interpreter unter Netscape 2.0 geschrieben mit notepad und
Kommandozeilencompiler. Und es war auf meinem Pentium 100 doch recht lahm. Aber das
hat mich nicht abgeschreckt, weil das Konzept was dahinter steht doch sehr modern war fuer 1995.

Zwischendurch gab es neben Java auch immer mal Stellen, wo ich mal was in TP7 oder Delphi gemacht habe.

Schlimm aehh gewoehnungsbeduerftig fand ich auch das programmieren unter Labview 6.1 / 8.0.
Das ist grafisch.

Zu C bin ich erst sehr spaet gekommen, so am Ende meines Studiums. Habe da aber nicht soo viel gemacht.
Insbesondere neu war in dem Moment, dass ich wieder direkt mit dem Pointern hantieren musste, was in Java
nicht so ist (managed). Genaugenommen war es C fuer Win32.

Danach kam verblueffenderweise die Gelegenheit wieder mal 6502 Assembler fuer C64 / C128 zu programmieren als
Prototyp Plattform fuer eine Hardware.
Wens interessiert C128 schafft ca. 3 kHz samplen von ADC ueber SPI mit speichern auf Festplatte und gleichzeitiger grafischer
Darstellung auf dem VDC (752x288). Der schiebt auch mal ne Diskette von der 1581 im Burstmode ueber seriell als *.d81.

Naja egal, wo ich jetzt dran sitze ist sowas auf einem Freescale DSP 568367 zu realisieren. Das ist ein ziemliches Geschoss.

Zu den TP Sachen habe ich nicht viel im Netz stehen.

Paar Sachen zu Java:
eines meiner ersten Spiele (ca. May 1997):
http://mail.lipsia.de/~enigma/giana/giana.html

anderer Krams:
http://mail.lipsia.de/~enigma/java/java.html
Bitte beachten, dass es teilweise wirklich alt ist.

Fuer die Katakis Fans:
http://mail.lipsia.de/~enigma/javakis/test.html

Und das ist etwas ernster, eines der letzteren Projekte:
http://mail.lipsia.de/~enigma/jstml/JST ... ation.html


Meine Meinung zu den Programmiersprachen:

Viele der kleinen Alltagsprobleme lassen sich in kurzen strukturierten Programmen loesen.

Vor modernen Programmiersprachen kann man sich nicht auf Dauer verschliessen, weil man haeufig mit
anderer Software zusammenarbeiten muss. Wenn es da nur Routinen fuer bestimmte Programmiersprachen gibt, hat man ein Problem.
Das heisst nicht, dass Assembler tot ist, es ist nur fuer bestimmte Sachen unpraktikabel.

Es gibt auch Programme, da ist die Ausfuehrungsgeschwindigkeit fast egal, aber nicht die Entwicklungsdauer.

Wo ich immer Schwierigkeiten habe, ist bestimmten Abstraktionen zu folgen in Hochsprachen. Bei Turbo Pascal ist der Zusammenhang
im Ablauf einer TP-Prozedur und dem dahinterliegendem Maschinencode noch ersichtlich. Bei abstrakteren Hochsprachen aber nichtmehr.
Das heisst aber oft, dass man klassisch bestimmte Dinge in der Hochsprache in einem maschinennahen Stil programmiert.
(z.B. Schleife um fuer jedes Element etwas zu tun)
Nun gibt es da teilweise Funktionen die das auf einmal machen, fuer das obige Beispiel z.B. irgendeine Art Listenfunktion.
Uebertrieben: Der Listenfunktionsaufruf ist eine Zeile und 100x schneller als die Schleife in vielleicht 5 Zeilen. Effektiv macht beides das gleiche.
Das aergert mich dann. Vor allem wenn man weiss, wenn man die Schleife etwas spezieller macht, gibt es keine fertige Listenfunktion mehr, die die
Funktionalitaet abbildet.
Bei Labview wird sowas ganz extrem, wo man dann Funktionsbloecke hat fuer beispielsweise ein externes Geraet, wo massig Code drin steckt.
Jedoch dann um zwei Zahlen zu addieren ein Addiersymbol und ein paar Leitungen mit der Maus ziehen muss, was umstaendlich, ineffektiv, unuebersichtlich ist.
Fuer die nicht Labview Kenner - man stelle sich vor sein Programm auf einem Blatt Papier wie eine elektronische Schaltung aufzumalen.
Statt C = A + B nimmt man ein Addierblock, der zwei Eingaenge und einen Ausgang hat, kabelt A und B an die Eingaenge und C an den Ausgang.


Zur Bedienung, vor allem auch unter den bekannten GUIs:
Die Maus hat auf jeden Fall ihre Daseinsberechtigung, man denke nur an Bildverarbeitung.
Was viele Entwickler aber verkennen - es ist und bleibt ein Zeigeinstrument.
d.h. Tastenkuerzel sind genauso wichtig wie frueher, ich denke da z.B. an Wordstar.
Tastenkuerzel sind wesentlich effektiver als mit der Maus irgendwohin zu fahren und zu klicken.
(und die Hand von und wieder zur Tastatur zu bewegen)
Wenn man nun Tastenkuerzel weglaesst, schraenkt man damit stark die Bedienbarkeit einer Applikation ein.
Man verbaut sich sozusagen den Zugriff ueber das Eingabehauptinstrument.
Es gibt aber auch andere Sachen.
Hat sich schonmal jemand ueberlegt wie man unter Windows persistente Spaltenbloecke markieren kann?
Nur mal angenommen man hat Messdaten, die an festen Positionen stehen und man will die dritte Datenspalte herauskopieren.
Beispielsweise waere das Spalte 10 bis 15 und 1000 Zeilen.
Unter Wordstar markiert man einfach einen persistenten Spaltenblock.
Unter Windows hmmm, versucht man das File in Excel zu importieren um dann eine Datenspalte wieder herauszukopieren.
Ist das wirklich besser?

Irgendwie ist die Bedienungseffizienz mit den GUIs gesunken und es gibt momentan so eine Art Konzeptlosigkeit.
Da kann man sich dann bei einem der Multimediakeyboards hinter eine Spezialtaste ein Makro legen, was eine Mausfunktion auf Tastendruck ausfuehrt,
weil fuer die Funktion keine Tastaturauswahl vorgesehen ist....
Dann ist das Scrollrad gekommen, was primaer fuer Webseiten praktisch ist. Bei Texten braeuchte man es nicht zwingend.
Neuerdings gibt es auch Mause wo man das Scrollrad nach links und rechts druecken kann....
... vermutlich weil das Seitendesign der Webseite es so benoetigt. ;)

So und nun nochwas fuer die Pascal Freunde von 1996:

Code: Alles auswählen

{ Das ist ein Textmodus Scroller, welcher Probleme bei der Anzeige hat:
  Der Source ist IMO gut dokumentiert
  Die eingeklammerten Pascalzeilen im Assemblerteil
  entsprechen den darüberbefindlichen ASM-Anweisungen
}

{$N+,E-,G+,X+}
uses dos,crt;
const
{Nur die Farben}
sfx : array [0..2,0..79] of byte =
((06,04,12,14,14,14,14,14,
14,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,14,
14,14,14,14,14,12,04,06),
(06,04,12,14,14,15,15,15,
15,15,15,15,15,15,15,15,
15,15,15,15,15,15,15,15,
15,15,15,15,15,15,15,15,
15,15,15,15,15,15,15,15,
15,15,15,15,15,15,15,15,
15,15,15,15,15,15,15,15,
15,15,15,15,15,15,15,15,
15,15,15,15,15,15,15,15,
15,15,15,14,14,12,04,06),
(06,04,12,14,14,14,14,14,
14,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,14,
14,14,14,14,14,12,04,06));

var
scrt : array [0..255] of word; {Scrolltext}
sc1 :  array [0..255] of word; {Dehnung}
chs : pointer;
s : string;
reg : registers;
anzc,sinpos,adr,z1,z2,z3,p1,p2,p3,z4 : word;
pan,z : byte;
w,p : word;

begin
s:='                                                                                '+
'Dieser Scroller ist im Textmodus geschrieben und hat einige Anzeigeprobleme - nur W'+
'ARUM ???  wrap                                                                     '+
'               ';

{Scrolltext in Byte-Array}
for z:=0 to 255 do scrt[z]:=ord(s[z]);
{Textbildschirm vollmachen}
z3:=0;
for z1:=0 to 79 do begin
  for z:=0 to 2 do begin
    w:=(z+6)*80+z1;
    memw[$b800:w shl 1]:=sfx[z,z1] shl 8 + z3;
    w:=(z)*80+z1;
    memw[$b800:w shl 1]:=sfx[z,z1] shl 8 + z3;
    w:=(z+3)*80+z1;
    memw[$b800:w shl 1]:=sfx[z,z1] shl 8 + z3;
    w:=(z+9)*80+z1;
    memw[$b800:w shl 1]:=sfx[z,z1] shl 8 + z3;
    inc(z3);
  end;
end;

{Auf 8-Punkte Darstellung umschalten}
reg.bx:=0001;
z:=port[$3cc] and not(4+8);
port[$3c2]:=z;
inline($fa); {CLI}
portw[$3c4]:=$0100;
portw[$3c4]:=$01+reg.bl shl 8;
portw[$3c4]:=$0300;
inline($fb); {STI}
reg.ax:=$1000;
reg.bl:=$13;
intr($10,reg);

reg.ax:=$1110;
reg.bx:=$2000;
reg.cx:=$0100;
reg.dx:=0;
reg.es:=$a000;
reg.bp:=0;
intr($10,reg);

gotoxy(1,1);
{Zeichensatzzugriff herstellen}
inline($fa); {CLI}
{egavga_sequenzer}
portw[$3c4]:=$0100;
portw[$3c4]:=$0402;
portw[$3c4]:=$0704;
portw[$3c4]:=$0300;
{Graphicscontroller}
portw[$3ce]:=$0204;
portw[$3ce]:=$0005;
portw[$3ce]:=$0406;
inline($fb); {STI}

for p:=0 to 8192 do begin
  mem[$a200:p]:=mem[$a000:p]; {orig. Zsatz nach chs kopieren}
  mem[$a000:p]:=0; {Löschen von aktuellem ZS}
end;

pan:=0;
adr:=0;
for z:=0 to 255 do sc1[z]:=Round(3*(sin(z/10)*cos(z/5))+3); {Buchstaben-Dehnen-Sinus}
asm
    mov di,0a000h
    mov es,di

{repeat}
@mainloop:
  mov sinpos,1
@incsinpos:
{for sinpos:=1 to 64 do begin {Bewegen}
  {Auf Retrace warten}
  mov dx,3dah
@wait1:
  in al,dx
  test al,8h
  jz @wait1
@wait2:
  in al,dx
  test al,8h
  jnz @wait2

    xor di,di
    xor ax,ax
    mov cx,2048
    cld
db $f3,$66,$ab

    mov anzc,1
{  for anzc:=1 to 80 do begin {Alle 80 Zeichen bearbeiten}
@alle80:
    mov ax,anzc
    mov bx,ax
    shl ax,6
    shl bx,5
    add ax,bx
    mov p,ax
{    p:=anzc shl 6+anzc shl 5; p*96}

    mov si,offset scrt
    mov bx,adr
    add bx,anzc
    shl bx,1
    mov ax,ds:[si+bx]
    shl ax,5
    mov w,ax
{ w:=st[adr+anzc] shl 5}

    xor dx,dx {dx=z4}
    xor ax,ax {ax = z = 0}
{    z:=0;}
{   for z4:=0 to 15 do begin }
@alle15:
    mov si,offset sc1
    mov bx,sinpos
    add bx,dx
    add bx,anzc
    shl bx,1
    add ax,ds:[si+bx]
{     p2:=round(sc1[sinpos+z4+anzc]); }
{  ax=   z :=z+p2;}


    mov bx,ax
    add bx,dx
    add bx,p
    mov di,bx

    mov bx,w

    mov cx,$a200

    push ds

    mov ds,cx

    add bx,dx
    mov si,bx

    movsb

    pop ds
    {  mem[$a000:p+z4+z]:=mem[$a200:w+z4];}
    inc dx
    cmp dx,16
    jne @alle15
{   end;                                  }

  inc anzc
  cmp anzc,81
  jne @alle80
{  end;}

  mov dx,$03c0
  mov al,$33
  out dx,al
  mov al,pan
  out dx,al
  inc pan
{  port[$3c0]:=$33;
  port[$3c0]:=pan;}
  cmp pan,9
  jne @danach
  xor al,al
  mov pan,al
  inc adr
  cmp adr,176
  jne @danach
  xor ax,ax
  mov adr,ax
@danach:
{ if pan=8 then begin {Smooth-Scrollen
    pan:=0;
    inc(adr);
    if adr=175 then adr:=0;
  end
  else inc(pan);}

 inc sinpos
 cmp sinpos,65
 jne @incsinpos

  mov dx,$0060
  in al,dx
  cmp al,57
  jne @mainloop

{until port[$60]=57;}
end;
{Alles wiederherstellen}
portw[$3c4]:=$0100;
portw[$3c4]:=$0302;
portw[$3c4]:=$0304;
portw[$3c4]:=$0300;
{Graphicscontroller}
portw[$3ce]:=$0004;
portw[$3ce]:=$1005;
portw[$3ce]:=$0e06;
asm
  mov ax,3
  int 10h
end;
end.

{P.S.: Vielleicht kennt das jemand vom C64 ;-) }
Uhm naja der Code ist vielleicht doch nicht so doll.
Benutzeravatar
SharpClaw
DOS-Kenner
Beiträge: 409
Registriert: So 23. Jul 2006, 19:09

Beitrag von SharpClaw »

hawooo!! ^^

Mich hat neulich ein Kumpel angehauen, er habe sich nen neuen Rechner gekauft, fragt mich jetzt nicht nach den genauen Spezifikationen, die habe ich mir nicht gemerkt :lol: halt eben ein System, was noch nicht zu den Auslaufmodellen gehört.

Als ich ihn fragte, was er damit den vorhabe, ich fragte halt nach Grafikrendering, CAD-Anwendungen, und dergleichen, sagte er mir, er brauche den Rechner für seine Korrespondenz, also Briefe schreiben, Bewerbungen usw. Auf die Frage nach Spielen, sagte er, sowas interessiere ihn nicht und das sei eh alles Quatsch.

Als ich darauf sagte, daß ich lange Zeit dafür einen 396er IBM genutzt habe, schaute er mich an, als ob es dachte "armer Irrer"... tja, so ist das Leben... heute braucht man Rechner mit mehreren Gigahertz um Dinge zu tun, die man sogar schon auf dem Cevi machen konnte...

Interessant finde ich auch, daß man früher mit Spulen-Großrechnern (Timetunnel :-D ) Dinge tun kann, die mit modernen Rechnern ned mehr möglich sind... das verwirrt mich immer etwas.

Zum Teil wird man aber auch dazu gezwungen neue Hardware einzusetzen. Ich mußte für den Schulunterricht mir eine Software zulegen, die man unter 800x600 Pixeln nicht installieren konnte. Das Install-Proggie stoppte einfach mit der Meldung: Auflösung zu niedrig, stellen Sie bitte um" - na toll -__-

Auf nem Rechner bei nem Bekannten hab ich das Ding man installiert um zu sehen, ob die Software unter 800x600 nicht dargestellt werden kann, und siehe da, es funzt ohne Probleme o_O Solche Programmiergimmicks finde ich sehr fies...
Doch bräucht' es ganze Scharen Von Zauberern, und Zeit
Das Schöne zu bewahren Und die Gerechtigkeit.

Nun will ich nicht mehr weinen. Komm, führ mich in dein Land!
Will mich mit ihr vereinen In deiner sanften Hand...

ASP - Zaubererbruder (Am Ende)
elianda
DOS-Übermensch
Beiträge: 1150
Registriert: Mi 31. Jan 2007, 19:04
Wohnort: Halle
Kontaktdaten:

Beitrag von elianda »

SharpClaw hat geschrieben:Als ich darauf sagte, daß ich lange Zeit dafür einen 396er IBM genutzt habe, schaute er mich an, als ob es dachte "armer Irrer"... tja, so ist das Leben... heute braucht man Rechner mit mehreren Gigahertz um Dinge zu tun, die man sogar schon auf dem Cevi machen konnte...
Kennst du noch Vizawrite, Startexter, Printfox und Pagefox, Superbase usw.?
Zum Teil wird man aber auch dazu gezwungen neue Hardware einzusetzen. Ich mußte für den Schulunterricht mir eine Software zulegen, die man unter 800x600 Pixeln nicht installieren konnte. Das Install-Proggie stoppte einfach mit der Meldung: Auflösung zu niedrig, stellen Sie bitte um" - na toll -__-

Auf nem Rechner bei nem Bekannten hab ich das Ding man installiert um zu sehen, ob die Software unter 800x600 nicht dargestellt werden kann, und siehe da, es funzt ohne Probleme o_O Solche Programmiergimmicks finde ich sehr fies...
Das gibt es sogar in anderer Richtung, ich habe hier einen Rechner mit Win XPx64 laufen. Avira Antivir behauptet da lapidar, es installiere sich nicht auf einem Serverbetriebssystem. Und dann gibt es Unmengen systemnahe WinXP 32 Bit Software, die ohne zu checken einfach mal Treiber versucht ins System zu installieren und danach gnadenlos failed. (Aufraeumen darf man natuerlich per Hand)
Was auch erschreckend ist, so bekannte Tools wie CPU-Z, das CPU Eigenschaften anzeigt (fuer die Leute die ihren Rechner nicht kennen) erkennt aeltere CPUs nicht und/oder crasht einfach auf aelteren OS. (z.B. Cyrix 5x86 mit NT4)
Da frage ich mich immer ernsthaft, dass das Programm was noch so toll aussieht, bei seiner Hauptfunktion versagt....
Oder gerade letztens OpenGL Capability Viewer, der erst ab WinXP laeuft... ...warum, das wuerde sogar schon unter Win3.1 gehen?
Um nochmal auf was altes zu bashen:
Hexen Demo lief auf 386 + FPU, die Vollversion dann nichtmehr und ich glaube nicht, dass die da noch massive Aenderungen an der Engine gemacht haben.
Benutzeravatar
Odin
DOS-Guru
Beiträge: 712
Registriert: Fr 3. Feb 2006, 16:52

Beitrag von Odin »

so bekannte Tools wie CPU-Z, das CPU Eigenschaften anzeigt (fuer die Leute die ihren Rechner nicht kennen) erkennt aeltere CPUs nicht
Das ist auch normal. Diese Tools nutzen die CPU-ID-Register, um an die Informationen zu kommen. Und diese Register gibt es erst seit dem Pentium I.
"640k ought to be enough for anybody." - Bill Gates (1981)
"Windows 95 needs at least 8MB RAM." - Bill Gates (1996)
... also braucht niemand Windows 95 !!!
Benutzeravatar
Sir Ivanheart
Norton Commander
Beiträge: 111
Registriert: Mi 6. Dez 2006, 20:35

Beitrag von Sir Ivanheart »

Interessant finde ich auch, daß man früher mit Spulen-Großrechnern (Timetunnel Very Happy ) Dinge tun kann, die mit modernen Rechnern ned mehr möglich sind... das verwirrt mich immer etwas.
Welche Dinge sind das? Villeicht lohnt es sich ja sich einen zuzulegen :)
Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.
elianda
DOS-Übermensch
Beiträge: 1150
Registriert: Mi 31. Jan 2007, 19:04
Wohnort: Halle
Kontaktdaten:

Beitrag von elianda »

Odin hat geschrieben:
so bekannte Tools wie CPU-Z, das CPU Eigenschaften anzeigt (fuer die Leute die ihren Rechner nicht kennen) erkennt aeltere CPUs nicht
Das ist auch normal. Diese Tools nutzen die CPU-ID-Register, um an die Informationen zu kommen. Und diese Register gibt es erst seit dem Pentium I.
So detailliert wollte ich es nicht beschreiben, jedoch sollte ein Programm dessen Hauptaufgabe es ist die CPU zu erkennen auch CPUs koennen, die keine Maschinenstatusregister haben.
Antworten