Die einzelnen Versionen von MemPatch
====================================

Der Grundgedanke zur Entwicklung von MemPatch entstand aus der Idee
zu einem Dump-Programm, das den Inhalt des Hauptspeichers anzeigte und
diesen stndig aktualisierte, um die durch TSR-Programme hervorgerufe-
nen Speicheraktivitten beobachten zu knnen. Das erste Programm
dieser Art nannte sich einfach nur DUMP (22.02.90) und hatte gerade
mal eine Gre von 2627 Bytes. Neben dem Hauptspeicher konnte auch der
Inhalt der I/O-Ports in dieser Art angezeigt werden. Zustzlich konnte
die Anzeige in diesen beiden Modi zwischen Hex/ASCII-Dump und
Binrdump umgeschaltet werden.

Das nchste Programm, MCBDUMP (5.03.90, 5508 Bytes) hatte zustzlich
einen MCB-Trace-Modus, der die vom DOS allokierten Speicherbereiche
der Reihe nach anzeigte und dazu jeweils ausfhrliche Daten (Inhalt
des Speicherbereiches, Programmname sowie die Interrupts, die auf
diesen Speicherbereich zeigen).

Der Schritt zum Beginn von MemPatch war eine weitere Funktion zum
Editieren der Speicher- und Port-Inhalte (patchen). Die Inhalte
konnten also durch einfaches berschreiben gendert werden, und dies
sowohl in Form von Hex-Bytes oder ASCII-Zeichen, oder auch jedes Bit
einzeln, was besonders im Port-Modus von Vorteil ist.

Mit der Version 3.14 wurde MemPatch erstmals auf dem Sharewaremarkt
verffentlicht. Es folgt nun eine Auflistung der einzelnen Versionen
bis hin zur aktuellen Version, jeweils mit den Neuerungen gegenber
der Vorversion:


MemPatch V 1.00, 11.06.90, 10010 Bytes
======================================

Noch besa MemPatch keine SAA-Oberflche; die einzelnen Funktionen
muten ber bestimmte Tasten aktiviert werden.

Es waren u.a. folgende Funktionen vorhanden:

    S, O, P zum direkten Eingeben einer neuen Segment-, Offset- bzw.
        Portadresse, ab der gedumpt werden soll
    N - Umrechnen der Anzeige von Segment:Offset
    F - Find-Funktion: Sucht Hex-Bytes und ASCII-Strings im Speicher
    R - Repeat Find: Weitersuchen ohne erneute Eingabe
    L - Load File: File in den Speicher laden
    W - Write File: Speicherbereich in ein File schreiben
    D - DOS Shell (Rckkehr mit EXIT)
    M - MCB-Trace-Funktion
    C - Colors: Umschalten zwischen heller und dunkler Farbdarstellung
    B - High Bit: Umschalten des Zeichens fr ein gesetztes Bit bei
        Binr-Dump zwischen '' und ''
    U - Setup: Speichern der Farbeinstellung
    H - Help-Screen mit obigen Tastenkommandos


MemPatch V 1.10, 18.07.90, 11000 Bytes
======================================

Zustzliche Funktionen:

    'M' wurde in 'T' umbenannt.
    '<' und '>' statt 'N' zum Umrechnen vom Segment:Offset.

    ALT-G - Speichern der aktuellen Dump-Adresse
    G - Wieder-Setzen der mittels ALT-G gespeicherten Dump-Adresse
    I - Fill Memory: Speicherbereich mit Hex-Bytes oder ASCII-Strings
        fllen
    M - Move Memory: Speicherbereiche kopieren


MemPatch V 2.00, 13.10.90, 20082 Bytes
======================================

Zustzlicher Modus zum Dumpen und Editieren des CMOS-RAM-Inhaltes. Zu
jedem Modus (Memory, Ports, CMOS-RAM) kann mittels ALT-I eine Info-
Seite eingeblendet werden. Das Setup umfat jetzt auch den aktuellen
Dump-Modus.


MemPatch V 3.00, 30.10.90, 29573 Bytes
======================================

Dies war die erste Version mit einer SAA-Menoberflche, da ich zu
diesem Zeitpunkt gerade die Version 1.00 der SAA-Window-Toolbox
fertiggestellt hatte. Auer ausfhrlichen Help-Windows zu jedem Men
von MemPatch sind gegenber der Version 2.00 keine wesentlichen neuen
Funktionen hinzugekommen.


MemPatch V 3.01, 31.10.90, 29506 Bytes
======================================

Code-Optimierung und Entfernung einiger Bugs.


MemPatch V 3.03, 19.11.90, 36372 Bytes
======================================

Zustzlicher Modus zum Dumpen und Editieren von Laufwerks-Sektoren.
Mittels der Find-Funktion knnen nun auch Laufwerke nach Hex-Bytes und
ASCII-Strings durchsucht werden.

Ferner sind folgende Info-Boxen hinzugekommen:

    - DOS Control Block
    - System Configuration
    - Drive Parameters


MemPatch V 3.10, 27.11.90, 42086 Bytes
======================================

Die Version 1.01 der SAA-Toolbox wurde verwendet. <F1> ermglicht nun
das ffnen des zum angewhlten Submen gehrenden Help-Windows. Die
hauptschliche Neuerung betrifft einen neuen Modus zum Dumpen und
Editieren des Extended Memory bis zu 16 MByte. Die Funktionen 'Find',
'Fill' und 'Move' sind ebenfalls auf das Extended Memory anwendbar.
Weiterhin kam eine neue Info-Box zur Anzeige der im System
installierten Device-Driver hinzu.


MemPatch V 3.11, 1.12.90, 42570 Bytes
======================================

Erweiterung des Sektor-Dumpmodus, so da es nun mglich wurde,
Bootsektor, File-Allocation-Table oder Root-Directory direkt
anzuspringen.


MemPatch V 3.12, 5.12.90, 44543 Bytes
======================================

Erweiterung der SAA-Toolbox zur Version 1.02, die ber eine
verbesserte Eingabefunktion fr Strings verfgt. Auerdem werden
Routinen zum Initialisieren und Restaurieren der von der Toolbox
verwendeten Interruptvektoren zur Verfgung gestellt (Int 10h, 16h,
1Bh, 23h, 24h, 29h), sowie eine Zusatzfunktion, die eine Online-Help-
Funktion ermglicht.

Die Version 3.12 von MemPatch verfgt ber die o.g. Online-Help-
Funktion, die zu jedem angewhlten Menpunkt einen kurzen
Erklrungstext in der untersten Zeile ausgibt. Auerdem knnen
aufgrund der neuen Eingabefunktion der SAA-Toolbox die Eingaben nun
mittels <ESC> abgebrochen werden, was vorher nicht der Fall war.


MemPatch V 3.13, 9.12.90, 43168 Bytes
======================================

Die Memory-Infobox zeigt nun statt der groben Speicheraufteilung mit
einigen Angaben von Adressen ein komplettes, bersichtliches MCB-
Listing. Auerdem wurden die Texte der Port- und der CMOS-RAM-Infobox
berarbeitet und eine weitere Help-Box zum Men "Info" hinzugefgt.
Trotzdem konnte der Programmcode gegenber V 3.12 um 1375 Bytes
verkrzt werden.


MemPatch V 3.14, 12.12.90, 44690 Bytes
======================================

*** Erste freigegebene Version ***

Es wurde die neue Version der SAA-Toolbox V 1.03 verwendet. Weiterhin
wurden einige kleine Bugs entfernt: Einmal war es bisher im CMOS-RAM-
Modus nicht mglich, mittels einer Buchstabentaste das Laufwerk zu
setzen. Zum anderen wurde im Sector-Modus die Anzahl der Sektoren des
aktuellen Laufwerkes nicht richtig berechnet. Dann wurde die Routine
fr "OS Shell" etwas erweitert, so da der Pfad zum COMMAND.COM oder
einer anderen Shell nun auch gefunden wird, wenn die Variable
"COMSPEC" nicht am Anfang des Environments steht. Auerdem wurde im
Men "File" die Funktion "Execute File" hinzugefgt.


MemPatch V 3.15, 11.01.91, 44756 Bytes
======================================

Die SAA-Toolbox wurde zur Version 1.04 erweitert, so da bei EGA- und
VGA-Karten nun alle 256 Farben eingestellt werden knnen. Der
Programmteil zum Ausgeben der Memory-Map wurde dahingehend optimiert,
da allokierte Speicherblcke auch dann als Environment identifiziert
werden knnen, wenn der String 'COMSPEC=' nicht unbedingt am Anfang
steht. Weiterhin wurde im Men 'Colors' statt des 'F' das 'L' von
'First Letter' hell dargestellt, da das 'F' bereits existierte.


MemPatch V 3.16, 26.01.91, 38340 Bytes
======================================

Verwendung der SAA-Toolbox V1.05. Die Help-Funktion ber <F1> wurde
erweitert, so da zu jedem einzelnen Menpunkt nun ein eigenes Help-
Fenster eingeblendet wird (statt bisher je Men 1 Fenster). Da sich
der Umfang der Help-Texte dadurch erweiterte, wurden diese in eine
externe Datei ausgelagert.

Weiterhin wurde das Info-Men etwas umgestaltet: Das Men \Info\Help
Boxes wurde entfernt; ebenso das Men \Info\Info Boxes, dessen
Menpunkte nach \Info verlegt wurden.

Im Men "Special" wurde eine neue Funktion "Call Interrupt" zum
Aufrufen beliebiger Interrupts integriert.

Ferner wurden einige Erweiterungen an internen Routinen vorgenommen
und ein Bug in der Eingaberoutine absoluter Offsetadressen im
Extended-Memory-Modus beseitigt.


MemPatch V 3.17, 29.03.91, 40476 Bytes
======================================

Verwendung der SAA-Toolbox V1.06 - auer da einige Routinen in die
Toolbox verlagert wurden, ist eine neue Funktion zum Sortieren der
Dateieintrge der Directory-Box hinzugekommen (ferner sind geplant:
Auswahlboxen, und, wenn ich mal viel Zeit habe, Mausbedienung).

Das Men von MemPatch wurde leicht abgendert; weiterhin wurden die
Funktionen <ALT+G> und <G> umbenannt in <ALT+Z> und <Z>, damit im
Hauptmen auch evtl. vorhandene Laufwerke mit Buchstaben grer als F:
gesetzt werden knnen. Weiterhin wurde die Memory-Map verbessert sowie
die Funktionen "Sector File" und "Auto Save" hinzugefgt.

Programmtechnisch mute ich auch einige Umstrukturierungen vornehmen
in Form einer Aufteilung des 6-teiligen, ohne die SAA-Toolbox etwa 328
kByte umfassenden Sourcecodes von MemPatch in 2 OBJ-Module zu je drei
Sourcecode-Teilen aufgrund des berschreitens der Kapazittsgrenzen
des Assemblers A86 (~97 Object Overflow~) whrend der Programmierung
der "Sector File"-Funktion.


MemPatch V 3.18, 14.04.91, 41669 Bytes
======================================

Die hauptschliche Neuerung bezieht sich auf den Sektor-Editor, der
nun auch Laufwerke mit Partitionen > 32 MByte untersttzt.

Im Men "File" wurde ein neuer Menpunkt "Change Drive" zum Setzen des
aktuellen Laufwerkes hinzugefgt. Im Hauptmen wird ein Laufwerk nun
nicht mehr durch Eingabe des Laufwerksbuchstabens gesetzt, sondern
ber die Tastenkombination <ALT+D>, welche dieselbe Funktion wie der
neue Menpunkt hat.

Die Funktionen <ALT+Z> und <Z> wurden wieder in <ALT+G> und <G>
umbenannt.


MemPatch V 3.19, 21.07.91, 41743 Bytes
======================================

Zwei kleinere Fehler, die beim Testen des Programms auf einem Rechner
mit einer greren Festplatte als meiner auftraten, wurden beseitigt.

Zustzlich zu MemPatch existiert nun auch ein Setup-Programm, mit dem
die Farbeinstellung fr Monochrom- und Color-Grakikkarten
standardmig eingestellt werden kann. Die Farbeinstellung von
MemPatch selbst ist fr Color-Grakikkarten voreingestellt.


MemPatch V 3.20, 22.09.91, 46400 Bytes
======================================

Ein neuer Modus zum Anzeigen und Editieren von Dateiinhalten wurde in
MemPatch integriert. Damit wird das Zusatzprogramm FilPatch, das als
Ergnzung zu MemPatch gedacht war, berflssig (wird aber weiterhin
mitgeliefert).

Die Suchfunktion "Find String" wurde erweitert, so da es nun auch
mglich ist, unabhngig von Gro- und Kleinschreibung zu suchen.
Auerdem erlaubt ein neuer Menpunkt "Search for Text" das Suchen nach
zusammenhngenden Textpassagen.

Eine neue Info-Box zeigt die DOS-Partitionen auf der Festplatte an.

Ein Positionsbalken in der vorletzten Bildschirmzeile zeigt die
relative Dump-Position an.


MemPatch V 3.21, 24.11.91, 46690 Bytes
======================================

Diverse nderungen, u.a. wurde die SAA-Toolbox ergnzt (V1.07), die
nun eine eigene Eingaberoutine fr Zeichenketten verwendet. Die
bisherige Methode, die DOS-Eingabefunktion 0Ah zu verwenden, whrend
der BIOS-Tastaturinterrupt ber einen Handler zum Filtern der Zeichen
geleitet wurde, mute aus Grnden der Inkompatibilitt zu Programmen
wie HYPERKEY aufgegeben werden.


MemPatch V 4.0, 15.01.92, 50528 Bytes
=====================================

Mit dieser Version wurde nun auch die Mausbedienung in das Programm
integriert. Dazu wurde die SAA-Window-Toolbox, die komfortable Men-
und Fensterroutinen fr Assemblerprogramme zur Verfgung stellt, um
die entsprechenden Routinen zur Version 2.00 erweitert.

Die DCB-Infobox ermglicht es nun, direkt auf die Adressen der
aufgefhrten Speicherbereiche zu positionieren.

Ein Fehlerteufel die Patch-Funktion im Extended-Memory-Modus betref-
fend, der es ttschlich geschafft hat, seit Version 3.10 unentdeckt
zu bleiben, wurde endlich entfernt (Dump-Adresse wurde verndert, wenn
ber eine 64-KB-Grenze hinaus editiert wurde, whrend der dargestellte
Bereich unterhalb dieser Grenze begann).

Der rapide Sprung der Versionsnummer in der Stelle vor dem Punkt (von
3.21 auf 4.0) soll dazu dienen, diejenigen Anwender, die das Fehlen
der Mausbedienung bisher als groen Nachteil empfunden haben, auf
dieses neue Feature aufmerksam zu machen.


MemPatch V 4.1, 12.03.92, 50513 Bytes
=====================================

Neuer Menpunkt "Double Klick" im Men "Options" zum Einstellen der
Methode der Menauswahl mit der Maus (Einfach- oder Doppelklick).

Die Routinen zum Verndern der Tastenwiederholrate (Cursorbeschleuni-
gung) wurden aus MemPatch herausgenommen, da die Parameter bei einigen
Tastaturcontrollern unterschiedliche Auswirkungen hatten. Dafr
existiert jetzt ein Zusatzprogramm KEYSPEED zum individuellen
Einstellen der Tastenwiederholrate ber Kommandozeilenparameter.


MemPatch V 4.2, 27.03.92, 50805 Bytes
=====================================

Neuer Menpunkt "Convert Address" im Men "Special" zum Umrechnen der
im Dumpfenster (Base Memory) angezeigten Segment:Offset-Adresse unter
Vorgabe eines Segment- oder Offsetanteils.

Men "Position" umgestaltet: Zusammenfassung der 4 Menpunkte
"Segment", "Offset", "Port Address" und "Sector" zu einem Menpunkt,
dessen Titel abhngig vom eingestellten Dumpmodus wechselt.

Es wurden 2 neue Hotkeys eingefhrt: <F2> zum direkten Eingeben der
Dump-Position und <F4> zum sofortigen Aktivieren des Patch-Modus.

Alternativ zu den Scroll-Tasten <Home>, <End>, <-> und <+> knnen nun
auch die Cursortasten verwendet werden.

Ferner wurden die folgenden Funktionen erweitert: Info-Box "Partition
Table" (zustzlich Anzeige des System-Indicators (Partitions-Typ) als
Hexzahl) und die Suchfunktionen "Search Text" und "Find String" (der
gefundene Suchausdruck wird nun im Dumpfenster farblich markiert).


MemPatch V 4.3, 27.02.94, 49850 Bytes
=====================================

Fehlerbehebung: Bei der Anzeige der CPU-Geschwindigkeit in der
"System Configuration"-Box trat bei ermittelten Geschwindigkeiten
von ber 25,5 MHz ein Rechenfehler auf. Wurde korrigiert.

Wegfall des Menpunktes "About MemPatch" des "Info"-Mens.

Umwandlung von Shareware- in Freeware-Version.


MemPatch V 4.3a, 09.09.96, 49827 Bytes
======================================

Ein Fehler bei Ermittlung der Aufteilung der Bereiche logischer Volumes
bei Anzahl der Sektoren pro FAT grer als 255 wurde behoben.

Eingabe der Cluster-Nummer im Sektor-Dumpmodus nun 7- statt 5-stellig.

Bei der Anzeige der CPU-Geschwindigkeit in der "System Configuration"-
Box trat bei ermittelten Geschwindigkeiten von ber 255 MHz ein
Rechenfehler auf. Wurde korrigiert.

