Go to the first, previous, next, last section, table of contents.
Wenn Sie meinen, einen Fehler in Future Drive Accelerator
gefunden zu haben, schicken Sie bitte eine Beschreibung, see section D.1 Neuer Fehler, an den Autor, see section 10. Wohin sendet man Fehlerreports, Kommentare und Bestellungen?.
Der Ehrlichkeit zu liebe, nun eine Liste der noch vorhandenen Schwachstellen.
Bugs (Macken):
- ABackUp hat ein Problem mit dem RAM-Disk patch, von
Future Drive Accelerator
V1.4.
=> ABackUp denkt, wenn eine Datei, die mit XPK gepackt ist und kein
Platz mehr in der RamDisk ist, das Sie 2GigaByte groß ist.
Wird in naher Zukunft repariert sein, wenn der Autor die Speicher-funktionen komplett
neue geschrieben hat.
AvailMemory(largest)
spuckt einen noch zu kleinen Wert aus, der
nicht der Wirklichkeit entspricht.
=> Es ist dennoch ein größerer zusammenhängender Bereich vorhanden; also
kann "not used FastMemory
" auf 1% konfiguriert werden.
Der tatsächliche Wert kann ermittelt werden, indem Avail
im Shell gestartet wird,
FDA
beenden, und nochmals Avail
starten.
Wird in naher Zukunft repariert sein, wenn der Autor die Speicher-funktionen komplett
neue geschrieben hat.
- Wenn es unterschiedliche "
Size of Track
" gibt, wird der Speicher
fragmentiert (zerstückelt).
Wird in naher Zukunft repariert sein, wenn der Autor die Speicher-funktionen komplett
neue geschrieben hat.
Keine richtigen Macken:
- Wenn
Not used ChipMemory
, see section 7.1 Das Hauptfenster, auf 100% gesetzt
wird, kann kein Track, um Platz zu machen, verschoben werden.
=> Der Track wird aus dem Cache entfernt.
Wird in naher Zukunft verbessert werden, wenn der Autor die Speicher-funktionen komplett
neue geschrieben hat.
- Unterstützt noch nicht AbortIO,CloseDevice.
- Unterstützt, noch nicht optimal AllocMem(reverse).
=> AllocMem reserviert einen Speicherbereich der als letzter frei ist,
was im Normalfall recht weit Vorne sein dürfte, da Hinten der Cache sitzt.
See section 6. Wie man Future Drive Accelerator
installiert und startet.
Wird in naher Zukunft repariert sein, wenn der Autor die Speicher-funktionen komplett
neue geschrieben hat.
ViNCEd
V3.63 nutzt nicht AllocEntry
oder AllocPooled
der exec library, zum verwalten einer eigenen PoolMemory, um kleine Speicher
anfragen zu bündeln. (Er hat AllocPooled
durch eine eigene Routine ersetzt.)
=> Der Cache wird sehr häufig, unnötig, freigegeben (flush).
Schade, da z.B. das horizontale Scrolling eine schöne Eigenschaft ist.
KingCON
V1.3 macht keinerlei Probleme.
Wird in naher Zukunft repariert sein, wenn der Autor die Speicher-funktionen komplett
neue geschrieben hat.
vdisk.device
2.7 (C) 1994-1997 by Etienne Vogt (ähnlich wie ramdrive.device)
Arbeiten nicht zusammen, da vdisk
nicht die OS-Memory Funktionen benutzt. Ist
nicht weiter tragisch, da es auch nicht FastFileSystem V44.5 unterstützt.
Future Drive Accelerator
ist ausführlich mit Enforcer/MungWall und PatchWork getestet.
Patchwork hat der Autor die Entdeckung zweier sehr hatnäckigen Bugs zu verdanken.
- CopyMem(Quick)
size muß nicht nur LongWordAlligned (size MOD 8=0) sein,
sonder auch Destination & Source. Der Bug machte sich erst nach
vielen 1000malen bemerkbar und zwar mit Chaos im Speicher.
- CopyMem(Quick)
"memory areas are overlapping (incremental)" funktionierte zwar
scheinbar, aber früher oder später ist auch Chaos im Speicher,
zumindes mit CopyMemQuickerV2.8.
Was nicht heißen soll das CopyMemQuicker nicht gut ist. See section A. Wie man Future Drive Accelerator
noch schneller macht.
Macken anderer Cache-Programme
- PowerCache
- Hat schon Checksumme Fehler beim schreiben verursacht,
weil die Read/Write Anfragen nicht in eine Warteschlange geschickt werden.
Insbesodere weil die Einstellungen, zu kurz, vor einem Neustart gespeichert werden.
- Cache verbrauch ist nicht flexibel.
- Nutzt nicht, bei einem erneuten einlegen der
Disketten den schon vorhandene Cache, der mit Daten gefüllt ist.
- DynamiCache
- Unterstützt nicht Write Async.
- Unterstützt nicht SCSI-direct-FileSystems.
- Unterstützt nicht Festplatten mit mehr als 4 GigaByte Kapazität.
- Nutzt nicht, bei einem erneuten einlegen der
Disketten den schon vorhandene Cache, der mit Daten gefüllt ist.
- Fragmentiert (Zerstückelt) extrem den Speicher.
- Unterstütz kein
AllocAbs
und Allocate
um den Cache für andere
Programme, frei zu geben.
- Wenn flush ausgeführt wird (Speicher voll), wird der Cache gelöscht, obwohl
der Speicher sowieso nicht ausreicht.
- Cachet nicht die Zugriffe von
ArtStudioPro 3
und Imagine
.
- Welche Version wurde benutzt?
- Was war in FDAPref, see section 7.2 Das Laufwerkfenster, eingestellt? (Removeable Disk?, ...)
- Was sagt FDAPref, see section 7.3 Information über das Laufwerk, zu, der nicht funktionierenden
Partition?
- Wenn andere Programme nicht laufen wie sie sollten, tun sie das auch ohne FDA?
- Wenn Dos-Checksumme (Read/Write) Fehler aufgetreten sind, in
FDAPref Protect tracks in memory with checksummes, see section 7.1 Das Hauptfenster, aktivieren.
Meldet FDA Checksumme Errors, ist es kein FDA BUG. Oder bei Festplatten die mehr
als 4 GigaByte Kapazität haben, ein anderes FileSystem installieren. See section 11.1 Wie man 4 GigaByte Festplatten einbindet..
Oder Entfernen sie einen Statisch aufgeladenen Fussel von Ihren Ram-Bausteinen. See section B. Wie man defekten Speicher ohne Probleme nutzen kann.
- Wie hat sich der Fehler geäußert? Wie kann ihn der Autor Rekonstruieren?
- Was für eine Hardware/Software (Mem, OS, FileSystem, Device-Software) war vorhanden?
- Kam ein Guru-Alert (Fehlermeldungen)?
In FDA sind Gurunummern (Fehlermeldungen) eingebaut, die mit $0FDA00## beginnen.
Auch wenn eine ander Nummer kam,
bitte SegTracker vom Enforcer-Packet starten. Tnt oder wenn möglich Enforcer oder
ersatz Programme wie CyberGuard (MC68060).
Fehler nochmal abwarten.
Fehlermeldung aufschreiben.
SegTracker ist wichtig weil der Autor gern wüßte, an welcher Stelle
der BUG ist. See section D.1.1 SegTracker, Enforcer und Co..
- Wenn sowas ähnliches kommen sollte, bitte Segtracker vorher starten.
Guru #0005: Division durch 0
Dx 00007FFF 00000000 08C6FFFF 00000000 7FFFFFFF 00000000 081AAE54 00000000
Ax 081AADEC 08C5F9D6 08C5F9DA 08C5F88A 081AAE54 08C5FC34 08000AB0 08C5F820
segment FDAPref
hunk 0
offset 0000365E
sr 0000
pc 08C553E6
<RETURN>
Nur weiterlesen wenn sie einen Prozessor mit MMU haben, oder sogleich
wissen wollen ob sie einen haben.
Needed files
- Enforcer supports MC68060,
-
- CyberGuard supports MC68060 DisASM,
-
- MungWall to detect Bad written Programs.
-
- needed to display output (Virtua Terminal) (Work also if the MultTasking is switched off), a replacement for Sushi.
-
How to run Debugging-Tools?
- SegTracker (Needed for locate (Hunk-offset) the bug)
RUN Devel:Debug/Enforcer/SegTracker
- Enforcer
MultiCX/RebootOff (if MultiCX is running)
RUN Enforcer SHOWPC VERBOSE DEADLY STACKCHECK AREGCHECK DREGCHECK RAWIO (need MungFriend)
RUN Enforcer SHOWPC VERBOSE DEADLY STACKCHECK AREGCHECK DREGCHECK FILE=CON:0/0/640/100/Enforcer/Auto/Close
LawBreaker (Any Output? Yes the MMU is working.)
- CyberGuard
RUN CyberGuard SHOWPC VERBOSE DEADLY STACKCHECK AREGCHECK DREGCHECK FILE=CON:0/0/640/100/CyberGuard/Auto/Close PCLINES=4 SHOWDISS
LawBreaker (Any Output? Yes the MMU is working.)
- MungWall (Detact bad written Programms (CheckSumme-Error))
RUN MungWall INFO SHOWFAIL SHOWPC SHOWHUNK SHOWSTACK NAMETAG
- Start Output Display Buffer (Virtual Terminal) (MungFriend ON RawSer->CON:)
RUN Devel:Debug/MungFriend INSTALL SIZE 40000 trace flash nobells noserial
- Convert, only, GuruNumber in Hunk-offset, doesn`t need an MMU.
Devel:Debug/Tnt FORCE
How to show the output?
- MungFriend Type to Window
Devel:Debug/MungFriend >CON:0/0/696/200/MungFriendSerOutput/Auto/Close/Wait/SHELL TYPE
- MungFriend Write to File
Devel:Debug/MungFriend Write `RequestFile DRAWER=SYS:T/ FILE=SerialOutput.txt TITLE="OutputFile"`
- MungFriend Clear
Devel:Debug/MungFriend CLEAR
- MungFriend Info (Is any inside?)
Devel:Debug/MungFriend INFO
- MungFriend ON RawSer->CON After Reset/Dead-GURU: (OutPut is still alife)
Devel:Debug/MungFriend update trace
- MungFriend OFF
Devel:Debug/MungFriend REMOVE
Go to the first, previous, next, last section, table of contents.