Highspeed SIO mit 110kbit - Tester gesucht

1, 2, 3, 4, 5 ... 7

Highspeed SIO mit 110kbit - Tester gesucht

von HiassofT » Fr 13. Feb 2009, 14:40
Hi!

Ich habe wieder weiter an meinem Highspeed SIO Patch gearbeitet und habe es nun geschafft bis auf 110kbit (mit abgeschaltetem ANTIC DMA sogar bis 126kbit) zu kommen. Hier ist der Link zur aktuellen Test-Version:

http://www.horus.com/~hias/tmp/hipatch-090212.zip

Die neuen Versionen von HISIO*.COM enden alle mit "I", nehmt also entweder "HISIORI.COM" oder "HISIOI.COM". Die Files ohne "I" im Namen sind (fast) identisch zur letzten Version des Patches und gehen bis max. 80kbit rauf.

In dem ZIP File findet ihr auch 3 Testprogramme:

"diag.atr" enthält den neuen SIO Code und liest in einer Schleife alle Sektoren von D2: (Achtung: D2: muss eine DD disk/image sein!). Bei einem Fehler stoppt das Programm und der aktuelle Timestamp sowie der Fehler wird ausgegeben.

"diag-nodma.atr" ist wie diag.atr, nur wird beim Test der ANTIC DMA ausgeschaltet. Damit sollten dann bis zu 126kbit möglich sein.

"diag-ext.atr" verwendet einen modifizierten Highspeed Code mit zusätzlichen Debug/Trace Infos. Bei einem Fehler werden detaillierte Infos ausgegeben (wohl nur für mich lesbar :-) in welchem Teil es zu einem Fehler kam.

So, nun zu meinen bisherigen Tests:

Ich habe AtariSIO erweitert und verwende in meinem PC eine 16C950 Karte (statt dem 16C550). Damit ist es möglich höhere Geschwindigkeiten zu erreichen und auch viel feiner einzustellen. Mein SIO2PC Interface ist selbstgebaut und verwendet einen MAX232 (Standard-Schaltung, nix besonderes).

Mit diesem Setup haben sowohl mein PAL 800XL als auch mein NTSC 800XL bei ~110kbit (Pokey Speed Byte 1) einen jeweils ca. halbstündigen Test (diag.atr) ohne Fehler absolviert :-)

Ich habe dann auch noch mit meinem SIO2SD getestet, damit kam ich aber nur auf max. 90kbit (Pokey Byte 3). Höhere Geschwindigkeiten klappten nicht. Weder beim PAL noch NTSC XL.

Mich würde nun interessieren, wie sich mein Code mit dem Atarimax SIO2PC USB Interface oder auch mit dem SIO2SD bei euch verhält. Falls wer so ein Interface hat, würde ich mich sehr über einen Test und Fehler- oder Erfolgs-Bericht freuen.

Nun noch ein paar Hintergrundinfos:

Das Limit von ~80kbit mit dem alten Code kommt durch den NMI Handler Code im OS ROM. Bei einem (immediate) VBI verbraucht der Code im ROM zu viel Zeit, dadurch kommt es zu einem Overrun und ein Byte geht verloren.

Der neue Code (in den "I" Versionen) patcht nun den NMI Code im OS durch eine kürzere Variante. Wenn das CRITIC Flag gesetzt ist (üblicherweise während der SIO) wird der neue Code verwendet, ansonsten wird der original Code im OS verwendet. Im neuen Code werden nur die System-Clock ($12..$14) hochgezählt und der erste System-Timer (für SIO Timeouts) behandelt. Den Code für den Atract Mode habe ich rausgeworfen.

Vorsicht: ich übernehme keine Verantwortung für eingebrannte Bildschirme, wenn ihr den SIO-Test für mehrere Tage durchlaufen lässt.

Im neuen Code werden übrigens auch die DLIs gesperrt sobald CRITIC gesetzt ist. Damit sollte gewährleistet sein, daß der neue SIO Code wirklich ungestört laufen kann.

Achja: schliesst beim Test am besten nur ein einziges SIO Gerät an den Atari an, je länger die SIO-Kette ist und je mehr Geräte dranhängen desto eher werden Übertragungsfehler bei hohen Geschwindigkeiten auftreten. Bei mir klappten die 110kbit auch noch mit 2 1050er in der Kette, andererseits gab's ja schon Berichte von Usern die Probleme mit einer XF551 bei 38kbit hatten. Es kommt also durchaus auch auf das SIO Gerät (bzw dessen elektrische Eigenschaften) an.

Also: bitte testet den Code mal auf eueren Rechnern, insbesonders mit Geräten die mehr als ~70kbit schaffen (sollten) und berichtet hier.

so long,

Hias

von Sleepy » Fr 13. Feb 2009, 17:06
Was heißt denn Testen?

Ich hab´ jetzt z.B. das Programm "diag.atr" auf eine SD-Karte gespielt, dazu ein leeres DD-ATR (mit sio2osx angelegt) und lasse das einfach von der SD-Karte mit sio2sd laufen...

Da wird aber nix weiter angezeigt (Geschwindigkeit ect.)

Ist das alles?

von HiassofT » Fr 13. Feb 2009, 17:23
Sleepy hat geschrieben:Da wird aber nix weiter angezeigt (Geschwindigkeit ect.)

Ist das alles?

Ja, genau. Du solltest im Lautsprecher die SIO-Beeps hören und im SIO2SD Display sollten die Sektoren angezeigt werden. Nur wenn's einen Fehler gibt stoppt das Programm und zeigt eine Fehlermeldung an.

Wenn es eine zeitlang geklappt hat kannst Du zB im SIO2SD versuchen die Geschwindigkeit hochzustellen und dann nochmal testen.

so long,

Hias

von HiassofT » Fr 13. Feb 2009, 17:27
Achja: nimm zum Testen am besten ein DD Image das mit Daten gefüllt ist. Während der Entwicklung hatte ich das Problem, daß ein Overrun nicht erkannt wurde und ein Byte doppelt war (der Fehler sollte korrigiert sein). Stehen "richtige" Daten im Sektor fällt das dann natürlich durch einen Prüfsummenfehler auf.

so long,

Hias

von Bernd » Sa 14. Feb 2009, 18:17
Servus Hias,

dein neues Bios habe ich installiert und getestet.

Hier mein Ergebnis:
APE mit dem neuen SIO2PC USB Interface läuft in ALLEN Stufen inklusive 110840 BPS. Dabei erinnert mich das Geräusch an meinen alten Epson Nadeldrucker..... ;-)
Bisher hatte ich in der höchsten Stufe nicht einen Aussetzer, der Test läuft noch weiter.

Beim SIO2SD war vorher das Ende bei 81656.30 jetzt komme ich auf 89488.63 ----- Ich denke eine höhere Übertragung scheitert an der abweichenden Baudrate des SIO2SD Interfaces.

Die Befürchtung, das SIO Signal könnte durch den internen Anschluss vom SIO2SD zusätzlich belastet oder verschliffen werden, bestätigten sich nicht.

Ab jetzt ist dein OS bei mir nur noch aktiv.
Falls es zu Übertragungsfehlern kommen sollte gibt es hier eine Info.

Bye,
Bernd

von Bernd » Sa 14. Feb 2009, 19:03
Hi,

den Test muss ich leider abbrechen...mir ist das SIO2PC(USB) Interface wortwörtlich "abgeraucht"...
Zwei Bausteine werden heiß, da geht nichts mehr. Mal sehen was Steven dazu sagt.



Bis dann,
Bernd

von HiassofT » Sa 14. Feb 2009, 21:14
Hallo Bernd!

Bernd hat geschrieben:Hier mein Ergebnis:
APE mit dem neuen SIO2PC USB Interface läuft in ALLEN Stufen inklusive 110840 BPS. Dabei erinnert mich das Geräusch an meinen alten Epson Nadeldrucker..... ;-)
Bisher hatte ich in der höchsten Stufe nicht einen Aussetzer, der Test läuft noch weiter.

Super, vielen Dank für's Testen!

den Test muss ich leider abbrechen...mir ist das SIO2PC(USB) Interface wortwörtlich "abgeraucht"...
Zwei Bausteine werden heiß, da geht nichts mehr. Mal sehen was Steven dazu sagt.

Auweh, das klingt nicht so gut :-(

Ich drück' Dir die Daumen, daß Du bald wieder ein funktionstüchtiges Interface hast!

so long,

Hias

von Bernd » So 15. Feb 2009, 00:04
HiassofT hat geschrieben:Hallo Bernd!

Auweh, das klingt nicht so gut :-(

Ich drück' Dir die Daumen, daß Du bald wieder ein funktionstüchtiges Interface hast!

so long,

Hias



Da kannst du nichts dafür. Mir ist es lieber es passiert gerade nach erhalt als erst in 3 bis 4 Monaten. Ich denke es war nur Pech - der USB Baustein hat sich verabschiedet .
Das Interface in Verbindung mit dem aktuellen APE macht auf mich einen sehr guten Eindruck. Die maximale Baudrate kannst du im Betrieb mittels einen Reiters verändern ohne mit OK zu bestätigen.
Es gibt gibt ein zweites APE Programm Button nur für den USB ONLY Mode. Da kommt was aus einem Guss daher.......

Bernd

von dl7ukk » So 15. Feb 2009, 07:35
Hallo Hias,

ich habe heute Nacht (auf Arbeit) Dein HS SIO-Patch am SIO2SD "rund" laufen lassen. Leider gehen dort, wie schon anderweitig beschrieben, nur 89488.63 . Aber dies war über zwei Stunden lang stabil.

von HiassofT » So 15. Feb 2009, 16:03
dl7ukk hat geschrieben:ich habe heute Nacht (auf Arbeit) Dein HS SIO-Patch am SIO2SD "rund" laufen lassen. Leider gehen dort, wie schon anderweitig beschrieben, nur 89488.63 . Aber dies war über zwei Stunden lang stabil.

Super, auch Dir vielen Dank für's Testen!

Soweit scheint der neue Code also recht gut zu funktionieren.

Nun auf in Runde 2: Falls ihr Zeit dazu habt, testet bitte mal den Patch in einer "Standardumgebung". Also zB mit MyDOS (oder einem anderen DOS, das keinen Highspeed Treiber hat), oder in ein (Flash-)ROM programmiert als Ersatz für das originale OS. Wenn ihr mit MyPicoDos testet: deaktiviert dort die Highspeed Routine, damit die Routine aus dem OS ROM verwendet wird.

Ich habe hier in meinem 800XL den Patch in einem umschaltbaren OS drin, bisher läuft er genauso gut wie die vorige Version.

so long,

Hias

von dl7ukk » So 15. Feb 2009, 16:36
Hi,

ich hatte Nacht noch kurze Test mit dem XL-OS unter MyDos, Qmeg 4 - MyDos, XDOS, RomDisk-Os, Spos-OS gemacht. (12h Stunden Nachtdienst sind sehr, sehr lang)

Mit dem XL-OS und MyDos und HISIOI.COM (sio2SD/ SIO2USB) ging es prima.

Bei den anderen hat es nicht auf Anhieb hingehauen. Ich habe das auch nicht weiter verfolgt.

Auch gut lief die HiSIOI mit den SIO2USB unter XL-OS.

Leider kann ich Heute und Morgen (Nacht) nicht testen, dafür darf ich aber die Nächte mit der Eisenbahn "spielen"......

von HiassofT » So 15. Feb 2009, 19:22
Hallo Andreas!

dl7ukk hat geschrieben:ich hatte Nacht noch kurze Test mit dem XL-OS unter MyDos, Qmeg 4 - MyDos, XDOS, RomDisk-Os, Spos-OS gemacht. (12h Stunden Nachtdienst sind sehr, sehr lang)

Mit dem XL-OS und MyDos und HISIOI.COM (sio2SD/ SIO2USB) ging es prima.

Vielen Dank für's Testen. Auch das sieht sehr gut aus!

Bei den anderen hat es nicht auf Anhieb hingehauen. Ich habe das auch nicht weiter verfolgt.

Mit den anderen OSsen wird der Patch wahrscheinlich nicht funktionieren. Qmeg, Romdisk, Spos haben ja alle selbst schon eine eingebaute highspeed SIO Routine, da kann es durchaus sein, daß sich diese und mein Patch in die Quere kommen.

Leider kann ich Heute und Morgen (Nacht) nicht testen, dafür darf ich aber die Nächte mit der Eisenbahn "spielen"......

Nur kein Stress und keine Eile. Ich freue mich ja schon riesig über Deine bisherigen Tests!

so long,

Hias

von Bernd » Di 17. Feb 2009, 22:10
Hallo Hias,

letzter Stand: das Interface wird problemlos ausgetauscht.
Ich schicke ihm das defekte Teil zurück.
Den Test mache ich anschließend weiter.

Viele Grüße,
Bernd

von dl7ukk » Do 19. Feb 2009, 00:17
Hallo Hias,

150 Min Dauertest ohne DMA

**also mit diag-nodma.atr **

am 800XE (unter Qmeg 404 im Normal-Mode) erfolgreich!!

SIO2PC 421 auf Ultra Speed

von dl7ukk » Fr 20. Feb 2009, 23:32
Hi Hias,


ich habe ein wenig weiter gespielt/ getestet. Beim SIO2SD ist -wie Bernd schon beschrieben hatte- bei 89488 BpS Schluss. BiboDos geht auch wieder nicht und das TurboDos 2.1 (Reitershan) geht die Variante Happy/Speedy nicht richtig. Ansonsten gibt es bei den gewöhnlichen Dos(en) keine Probleme und Dein HiSio Patch läuft ganz wunderbar.

von HiassofT » So 3. Mai 2009, 17:43
Hi!

Die finale Version des Highspeed Patches naht mit grossen Schritten, hier ist die voraussichtlich letzte Vorab-Version:

http://www.horus.com/~hias/tmp/hipatch-090503.zip

In dieser Version gibt es folgende Neuerungen:

- SHIFT+RESET macht einen Kaltstart
- Beschleunigte Erkennung des Highspeed Modes (vor allem bei Zugriff auf nicht erweiterte oder nicht angeschlossene Floppies)
- Pokey Divisor 0 (126kbit/sec) läuft stabil mit dem NMI Patch
- Pokey Divisor 1 (110kbit/sec) läuft stabil mit dem "fastVBI" code

so long,

Hias

von dl7ukk » Mo 4. Mai 2009, 06:56
Hallo Hias,



Prima, dann woll'n wir mal....

Ergebnisse aber vermutlich erst Ende der Woche

von Bernd » Do 7. Mai 2009, 21:59
Hallo Hias,

neues Interface und Zeit für den Atari ;-)
Dein neue OS Version habe ich in meinen System eingebunden und den Test mit APE und dem SIO2PC-USB weitergeführt.

- Pokey Divisor 0 (126kbit/sec) läuft stabil mit dem NMI Patch
- Pokey Divisor 1 (110kbit/sec) läuft stabil mit dem "fastVBI" code

Bei beiden Einstellungen schaffe ich mit dem APE-Interface Referred Rate Pal 0x00 - 126674 BPS ohne einen Fehler zu bekommen.
Testzeit jeweils 1 Stunde.

Dein OS ist bei mir als Standart gewählt!

Viele Grüße,
Bernd

PS: Hier noch mal die Tastaturoptionen für alle

SHIFT+CONTROL+S Clear SIO speed table and enable highspeed SIO
SHIFT+CONTROL+N Disable highspeed SIO (normal speed)
SHIFT+CONTROL+H Enable highspeed SIO
SHIFT+CONTROL+DEL Coldstart Atari
SHIFT+RESET coldstart when pressing

von Bernd » So 10. Mai 2009, 18:47
Hallöchen zusammen,
ich habe einen kleinen Versuch durchgeführt um die Geschwindigkeit verschiedenen OS-Systeme beim booten zu vergleichen.

Alle Daten wurden per APE und SIO2USB Interface geladen.
Testfile - Crownland - 2ter des ABBUC Softwarewettbewerbes 2007
Filetyp - ATR

System---------Baudrate PAL-----------Ladezeit in Sekunden
XL-OS---------------19200-----------------------38
Qmeg---------------68209-----------------------16
Hias-OS------------126674----------------------12

Hier könnt ihr die Ladevorgänge von Atarimax nachhören.
Hier mein Versuch mit Hias-OS. Ich schalte während des Bootens zwischen Normal und Highspeed über die Tastatur um.
Was da zu hören ist sind keine Blähungen :wink:

Viele Grüße,
Bernd

PS: Die kleine Differenz in der Tonlage liegt am Farbsystem PAL - NTSC.
Bei Pal ist die maximale Geschwindigkeit 126674, NTSC 127840.

von HiassofT » Mo 11. Mai 2009, 15:38
Hallo Bernd!

Bernd hat geschrieben:- Pokey Divisor 0 (126kbit/sec) läuft stabil mit dem NMI Patch
- Pokey Divisor 1 (110kbit/sec) läuft stabil mit dem "fastVBI" code

Bei beiden Einstellungen schaffe ich mit dem APE-Interface Referred Rate Pal 0x00 - 126674 BPS ohne einen Fehler zu bekommen.
Testzeit jeweils 1 Stunde.

Vielen Dank für's Testen!

Noch eine kleine Anmerkung zu NMI vs. FastVBI: Die FastVBI Version funktioniert meistens auch mit Divisor 0, unter Umständen (wenn die System Timer 20/19 überlaufen) kann es aber zu einem Overrun kommen und es gibt einen Übertragungsfehler. Dieser Fehler tritt aber nicht zwangsläufig immer auf, sondern ist abhängig davon zu welchem Zeitpunkt der VBI eintritt und die SIO unterbricht. Wenn das SIO-Gerät etwas langsamer sendet (zB mit kurze Pausen zwischen den einzelnen Bytes), kann es sich trotzdem zeitlich ausgehen. Selbst wenn ein Übertragungsfehler auftritt ist das noch kein grösseres Problem: der Highspeed Code führt dann das SIO Kommando nochmal in normaler Geschwindigkeit aus.

Kurz zusammengefasst: FastVBI mit Divisor 0 klappt meistens, aber mit Divisor 1 ist man auf der sicheren Seite.

Übrigens: Ich habe nun auch mal einen Test mit Crownland (vom Magazin 90) gemacht, mit AtariSIO bei Divisor 0 (125494 bit/sec) dauert es knapp 7 Sekunden! Das File hat 437 SD Sektoren, das sind also ca. 63 Sektoren pro Sekunde :-)

Hier ein Video davon: http://www.horus.com/~hias/tmp/crownland-div0.avi

so long,

Hias
1, 2, 3, 4, 5 ... 7