Neue AspeQt Test-Version
von HiassofT » Fr 17. Feb 2012, 01:50Ich habe in AspeQt V0.6 ein paar kleinere Bugs korrigiert und (testweise) kleinere Änderungen vorgenommen.
Hier der Link zur aktuellen Version: http://www.horus.com/~hias/tmp/aspeqt-0.6-Hias-120215.zip
In dem ZIP ist das Win32 Executable, der komplette Source Code (inkl. aller Änderungen, im "src" Verzeichnis) und separat im "hias-patches" Verzeichnis alle Änderungen im Vergleich zur 0.6er Version als diffs. Insgesamt sind das bisher 4 patches:
01-fix-pokey-divisor-0-1-on-PAL.patch:
AspeQt 0.6 verwendete für Pokey Divisor 0 und 1 Baudraten, die der FDTI Chip nicht kannte, der Treiber musste also runden. Vermutlich dadurch kam es bei mir zu Übertragungsproblemen. Die Baudraten habe ich nun so gewählt, daß sie direkt vom FTDI Chip unterstützt werden und auch problemlos auf meinen PAL Geräten funktionieren.
02-fix-image-size-calculation-support-8k-sectors.patch:
Beim Anlegen neuer Image stimmte die angezeigte Grösse nicht, das wurde korrigiert. Zusätzlich habe ich auch Support für ATRs mit 8k grossen Sektoren mit eingebaut (letzteres ist hauptsächlich für eine Flasher-Software von mir gedacht).
03-try-timeBeginPeriod-to-decrease-latency.patch:
Mir (und ich glaube auch tfhh) ist aufgefallen, daß zwischen dem Command ACK und Complete sowie zwischen dem Complete und Data Frame unter Win32 relativ lange Pausen sind - das bremst Übertragungen bei Divisor 0 und 1 ziemlich aus. Phaeron hat mir den Tip gegeben, ein "timeBeginPeriod(1)" abzusetzen, damit wird die minimale Zeitscheibe unter Win32 auf 1ms gesetzt (ansonsten ist sie 10ms oder mehr, weiss ich jetzt grad nicht auswendig). Auf realer Hardware habe ich es noch nicht ausgetestet, in meiner XP VM hat sich aber nicht viel verändert. Bitte gebt Bescheid, ob diese Version bei euch schneller läuft als die alten (vor allem bei Divisor 0 / 1).
04-remove-totalRetries-limit-in-readCommandFrame.patch
Fox-1 hatte das Problem, daß eine parallel angeschlossene Speedy dazu führte, daß AspeQt nach einiger Zeit in den "off" Modus ging. Das lag daran, daß nach 100 fehlerhaften Command-Frames abgebrochen wurde (die natürlich mit der Speedy schnell zusammenkommen, der PC kann mit der Geschwindigkeit üblicherweise nichts anfangen). Ich habe nun einfach das Limit entfernt, das sollte das Problem lösen, ich weiss aber nicht ob es dadurch evtl. irgendwelche unerwünschten Nebenwirkungen gibt (auf den ersten Blick habe ich keine sehen können). Auch hier: bitte Bescheid geben ob das besser oder schlechter ist.
so long,
Hias
Hier der Link zur aktuellen Version: http://www.horus.com/~hias/tmp/aspeqt-0.6-Hias-120215.zip
In dem ZIP ist das Win32 Executable, der komplette Source Code (inkl. aller Änderungen, im "src" Verzeichnis) und separat im "hias-patches" Verzeichnis alle Änderungen im Vergleich zur 0.6er Version als diffs. Insgesamt sind das bisher 4 patches:
01-fix-pokey-divisor-0-1-on-PAL.patch:
AspeQt 0.6 verwendete für Pokey Divisor 0 und 1 Baudraten, die der FDTI Chip nicht kannte, der Treiber musste also runden. Vermutlich dadurch kam es bei mir zu Übertragungsproblemen. Die Baudraten habe ich nun so gewählt, daß sie direkt vom FTDI Chip unterstützt werden und auch problemlos auf meinen PAL Geräten funktionieren.
02-fix-image-size-calculation-support-8k-sectors.patch:
Beim Anlegen neuer Image stimmte die angezeigte Grösse nicht, das wurde korrigiert. Zusätzlich habe ich auch Support für ATRs mit 8k grossen Sektoren mit eingebaut (letzteres ist hauptsächlich für eine Flasher-Software von mir gedacht).
03-try-timeBeginPeriod-to-decrease-latency.patch:
Mir (und ich glaube auch tfhh) ist aufgefallen, daß zwischen dem Command ACK und Complete sowie zwischen dem Complete und Data Frame unter Win32 relativ lange Pausen sind - das bremst Übertragungen bei Divisor 0 und 1 ziemlich aus. Phaeron hat mir den Tip gegeben, ein "timeBeginPeriod(1)" abzusetzen, damit wird die minimale Zeitscheibe unter Win32 auf 1ms gesetzt (ansonsten ist sie 10ms oder mehr, weiss ich jetzt grad nicht auswendig). Auf realer Hardware habe ich es noch nicht ausgetestet, in meiner XP VM hat sich aber nicht viel verändert. Bitte gebt Bescheid, ob diese Version bei euch schneller läuft als die alten (vor allem bei Divisor 0 / 1).
04-remove-totalRetries-limit-in-readCommandFrame.patch
Fox-1 hatte das Problem, daß eine parallel angeschlossene Speedy dazu führte, daß AspeQt nach einiger Zeit in den "off" Modus ging. Das lag daran, daß nach 100 fehlerhaften Command-Frames abgebrochen wurde (die natürlich mit der Speedy schnell zusammenkommen, der PC kann mit der Geschwindigkeit üblicherweise nichts anfangen). Ich habe nun einfach das Limit entfernt, das sollte das Problem lösen, ich weiss aber nicht ob es dadurch evtl. irgendwelche unerwünschten Nebenwirkungen gibt (auf den ersten Blick habe ich keine sehen können). Auch hier: bitte Bescheid geben ob das besser oder schlechter ist.
so long,
Hias