Speeder-Routinen

Moderator: Rockford

Antworten
JoSch
Beiträge: 213
Registriert: 25.08.2021 21:40
Has thanked: 109 times
Been thanked: 73 times
Kontaktdaten:

Speeder-Routinen

Beitrag von JoSch »

Wie von Erhard vorgeschlagen, mache ich mal dieses Thema auf.
Gesammelt werden sollen Routinen zur Erkennung und Steuerung des Gewschwindigkeit von versch. Floppies bzw. derer Erweiterungen dokumentiert werden.

Erhard
Beiträge: 661
Registriert: 04.11.2021 15:52
Has thanked: 60 times
Been thanked: 175 times
Kontaktdaten:

Speeder-Routinen

Beitrag von Erhard »

.
Micro-SpartaDOS v2.2

This is a gamedos that includes highspeed capabilities.

From the original BEWESOFT documentation dated 93-05-03:

==
Micro-SpartaDOS 2.2 uses only SIO ($E459) or a High speed SIO for disk access, so it need not any DOS.
While selecting a file, it uses memory area $2000-$28FF for program, and $2900-MEMTOP for buffers, new filenames etc.
While loading a program, MSDOS uses only area $700-MEMLO.

The MEMLO values are these:

- Standard SIO: $A00
- XF 551: $A35
- Speedy 1050: $A00+SIO length (=?)

Before loading, built-in BASIC is disabled, and the memory is cleared (not under ROM-OS).
You can use any format, which is supported by original SpartaDOS.
(Sectors $0001-$FFFF, 128 or 256 bytes/sector)
But MSDOS supports only SpartaDOS format - NOT Atari DOS.
(There are many other MicroDOSes for this format...)

The only limit for number of directory entries is the size of memory ($2900-MEMTOP).
It is about 500 files with full names, or about 1500 files with DOS-names in each directory !
==

CU, Erhard
Just because you're paranoid don't mean they're not after you ...

(Quelle: Nirvana)

Benutzeravatar
CharlieChaplin
Beiträge: 666
Registriert: 18.06.2021 22:59
Has thanked: 136 times
Been thanked: 177 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von CharlieChaplin »

Hmmmm,

bin mal so böse und behaupte, dass es eigentlich nur zwei Arten von Floppy Speedern gibt:

a) mit Track Buffer/Cache (Happy und Clones, Speedy und Derivate, etc.)

b) mit Sector-Interleave (XF551, Turbo 1050, US-Doubler, Hyper-XF, etc.)
oft auch als sector skewing bezeichnet

Wenn ich falsch liege, bitte korrigieren!

Erhard
Beiträge: 661
Registriert: 04.11.2021 15:52
Has thanked: 60 times
Been thanked: 175 times
Kontaktdaten:

Speeder-Routinen

Beitrag von Erhard »

Hi,

CharlieChaplin hat geschrieben:
16.05.2024 21:19
Wenn ich falsch liege, bitte korrigieren!
in dem Thema sollte es um GameDOS-Varianten sowie HighSpeed-Laderoutinen gehen und in wie weit die jeweils den Speicher belegen.

CU, Erhard
Just because you're paranoid don't mean they're not after you ...

(Quelle: Nirvana)

Benutzeravatar
CharlieChaplin
Beiträge: 666
Registriert: 18.06.2021 22:59
Has thanked: 136 times
Been thanked: 177 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von CharlieChaplin »

Für die Geschwindigkeit der Datenübertragung wird zumeist der Pokey-Divisor und die Datenrate in Baud angegeben. Ein paar Beispiele:

- standard 810 Floppy: 19.200 Baud, Pokey divisor: ? (1x SIO)
- standard 1050 Floppy: 19.200 Baud, Pokey divisor: ? (1x SIO)
- Happy 1050: normal: Baud ?, ultraspeed ca. 52k Baud, Pokey divisor $0A (3x SIO)
- Speedy 1050: normal ca. 28.800 Baud ? ultraspeed ca. 55k Baud, Pokey divisor $09 (3x SIO)
- US-Doubler: normal: 19.200 Baud, ultraspeed ca. 52k Baud, Pokey divisor $0A (3x SIO)
- XF551: normal 19.200 Baud, highspeed 38.400 Baud, Pokey divisor: $10 (2x SIO)
- Hyper-XF: normal 19.200 Baud, ultraspeed: ca. 55k Baud, Pokey divisor: $09 (3x SIO)
- Turbo 1050: normal 19.200 Baud, turbospeed: 68.200 Baud, Pokey divisor: $06 (ca. 3,5x SIO)
- Indus: normal: 19.200 Baud, syncromesh: 38.400 Baud (2x SIO), super-syncromesh: ? (3x SIO), Pokey divisor syncro: $10, Pokey divisor super-syncro ?

Wer mag kann die Tabelle ja ergänzen und meine (garantiert vorhandenen) Fehler korrigieren.

Benutzeravatar
CharlieChaplin
Beiträge: 666
Registriert: 18.06.2021 22:59
Has thanked: 136 times
Been thanked: 177 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von CharlieChaplin »

Erhard hat geschrieben:
16.05.2024 21:37
Hi,

CharlieChaplin hat geschrieben:
16.05.2024 21:19
Wenn ich falsch liege, bitte korrigieren!
in dem Thema sollte es um GameDOS-Varianten sowie HighSpeed-Laderoutinen gehen und in wie weit die jeweils den Speicher belegen.

CU, Erhard
Aha,
ich hatte "Gesammelt werden sollen Routinen zur Erkennung und Steuerung des Gewschwindigkeit von versch. Floppies bzw. derer Erweiterungen dokumentiert werden." ganz anders interpretiert...

Benutzeravatar
CharlieChaplin
Beiträge: 666
Registriert: 18.06.2021 22:59
Has thanked: 136 times
Been thanked: 177 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von CharlieChaplin »

Gamedos Varianten mit Highspeed Routinen:

- SSI bzw. Speed Start Init. von E.Reuss (ultraspeed; Happy, Speedy, USD, etc.):
- MyPicoDOS 4.06: a) standard, b) SDrive highspeed, c) remote console, d) barebone (ohne Speeder, s.u.)
- Chaos Init. / Chaos load(er) (für Turbo und Clones):
- XF DOS 2.5 (Gamedos für XF551 von der Bootdisk XF-Tools):
- Spezial 1050/XF551-Minidos von M.Thiel und A.Knote (für XF551):
- hi-speed quad density ndos converter von Rastware (von der Datei XF-Tools, für XF551):
- ultraspeed BT menu 1.0 by Ken Siders (ultraspeed; Happy, Speedy, USD, etc.):
- WRGAME.COM (von TurboDOS XL/XE, Reitershan; Speeder für Happy und Speedy, für XF551? für Turbo ?):
- MS DOS V4.7 von Pirx (derzeit aktuellste Version von MS-DOS, ultraspeed für Happy, Speedy, USD, etc.; wenn ich mich nicht irre, kein XF-highspeed mehr vorhanden):

Gamedos Varianten ohne Highspeed Routinen (zum Vergleich!)
- NanoDOS von S.Baucke:
- MicroDOS II von S.Dorndorf:
- Picodos 1.7 von Hias/M.Reichl:
- Picoboot von Hias/M.Reichl:
- MypicoDOS 4.06 barebone von M. Reichl:
- NDOS-DD von ??? (keine Autorenangabe vorhanden):
- Fenders 3-sector file load program:
- File Loader V2.0 by JZ:
- MyInit '89 by Radek Software:

Diese Varianten könnte ich zur Verfügung stellen (auf mehreren ATR-Images), damit jemand deren Speicherbelegung ermittelt. Ich vermute mal, dass so ziemlich alle mind. den Speicher von $0700-09xx belegen.

HiassofT
Beiträge: 149
Registriert: 17.08.2021 11:03
Wohnort: Salzburg, Austria
Has thanked: 12 times
Been thanked: 64 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von HiassofT »

Bei MyPicoDos ist die Speicherbelegung im README.txt dokumentiert - ich hoffe, sie ist korrekt :-)
https://github.com/HiassofT/MyPicoDOS/b ... #L408-L415

Code: Alles auswählen

$0700-$07FF is used as a sector buffer (except for the BIN loader).
$0800-$0854 contains the basic disk IO code to read bytes (used by
            the COM and the BAS loader)
$0855-$0929 is either used by the COM or the BAS loader. The filetype
            is determined by mypdos, and the appropriate loader code
            is then copied there. Actually, the BAS loader only
            uses memory up to $08A8.
$092A-$0BE3 contains the highspeed SIO code.
so long,

Hias

Erhard
Beiträge: 661
Registriert: 04.11.2021 15:52
Has thanked: 60 times
Been thanked: 175 times
Kontaktdaten:

Speeder-Routinen

Beitrag von Erhard »

.
Speedy 1050 Highspeed SIO

Known devices to support this are: Speedy 1050, HDI, APE.

Code starts at given address (it is relocatable, you know) and has got a length of some $20C bytes.

How To:

This highspeed routine can be loaded out of the device.

Run SIO command $68 and try to read two bytes. If the command succeeds then you are talking to a supporting device and the resulting two bytes are the length of the highspeed code. I just tested it with Altirra and the result is $20C (this may vary by a few bytes, there were old Speedy 1050 OS versions containing a routine that didn't have a speed table for 8 drives).

Then use SIO command $69 to obtain the actual highspeed code readily relocated to a memory address of your need.

So if you wanted that code at address e.g. $2056 in your own program and the Speedy 1050 is D1: then the DCB needs to be set to:

300: 31 (disk)
301: 01 (#1)
302: 69 (command)
303: 40 (read data)
304: 56 memory address lo
305: 20 memory address hi
306: 0F timeout
307: 00 unused
308: 0C bytes lo
309: 02 bytes hi
30A: 56 relocate to address lo
30B: 20 relocate to address hi

Then call SIO.

Afterwards you can use JSR $2056 instead of JSR $E459.

CU, Erhard
Just because you're paranoid don't mean they're not after you ...

(Quelle: Nirvana)

Benutzeravatar
LarsImNetz
Beiträge: 175
Registriert: 24.08.2021 18:27
Has thanked: 144 times
Been thanked: 89 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von LarsImNetz »

IMHO sollte es hier eher um die "Turbo-Mode-Patches" gehen, also wo im Speicher wird der "Patch" abgelegt, um dem Pokey einen kleineren Divisor unterzujubeln. Der Default Divisor ist IMHO 39 oder 40.
Die Turbo 1050 legt den Patch in $100 oder $600 (einstellbar) ab.

Gerade aktuelle Games belegen sehr gerne fast den gesamten Speicher und wenn diese Games dann als einzelne Datei vorliegen, wäre es nett zu wissen, welche Bereiche man als Entwickler nicht unbedingt überschreiben sollte, um trotzdem noch den "Turbo-Mode" verwenden zu können.

Wer als Entwickler dann eher auf "Boot-Disketten" umsteigt, ist auch nicht fein raus, weil z.B. bei der Turbo 1050 müsste er entweder eine Diskette mit angepasstem Sektor-Interleave liefern oder der Nutzer muss sich die Diskette selbst erstellen. Zudem sollte er trotz Boot-Diskette dafür sorgen die Speicher-Bereiche $100 und $600 nicht zu verwenden.

Ich als Entwickler versuche eher eine große Monster-Datei zu erzeugen, die auch mit einem normalen DOS (2.5) noch geladen werden kann. Also $2000 - $BFFF werden voll verwendet. Das ich im Game dann $1000-$2000 auch noch verwende für Player-Missiles/Screens etc. ist halt so. Die meisten meiner Games verwenden das DOS nicht mehr.

Wir könnten auch gerne einen 2. Thread aufmachen für eine Liste von MEMLO der einzelnen DOS-Versionen, dann aber vielleicht gleich mit Hinweis, läuft TurboBasic oder läuft es nicht.

Erhard
Beiträge: 661
Registriert: 04.11.2021 15:52
Has thanked: 60 times
Been thanked: 175 times
Kontaktdaten:

Speeder-Routinen

Beitrag von Erhard »

Hi,

LarsImNetz hat geschrieben:
17.05.2024 13:30
IMHO sollte es hier eher um die "Turbo-Mode-Patches" gehen,
Die Turbo ist deutlich weniger verbreitet als die Speedy, also warum sollte jetzt nur die Turbo Thema sein?
Ferner hätten wir für nur den Turbo-Speeder keine Datensammelei anstoßen müssen.

Ich hatte das so verstanden daß es darum ging eine Liste über "Vorlader" zu machen um aufzustellen, welche Speicherbereiche ein Programm frei lassen sollte, damit:

- es als File von Geräten wie einem SDriveMAX, The!Cart, APE usw geladen werden kann, denn da bootet der Atari aus dem Gerät erst ein Programm (*1), was das Laden der betroffenen .COM / .XEX Datei ermöglicht

- damit ein GameDOS (*1) die Datei von einer Disk laden kann, auf der mehrere Dateien sind (eine Disk mit vielen Spielen)

- damit Bootdisks mit höherer Geschwindigkeit geladen werden können

(*1) = mit oder ohne Highspeed

CU, Erhard
Just because you're paranoid don't mean they're not after you ...

(Quelle: Nirvana)

JoSch
Beiträge: 213
Registriert: 25.08.2021 21:40
Has thanked: 109 times
Been thanked: 73 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von JoSch »

Jetzt wieder nur eine Erweiterung rauszugreifen, finde ich auch nicht gut. Die Idee war ja gerade eine(!) Quelle für die verschiedenen Speeder-Varianten und ihre Nutzung zu sammeln.

Benutzeravatar
LarsImNetz
Beiträge: 175
Registriert: 24.08.2021 18:27
Has thanked: 144 times
Been thanked: 89 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von LarsImNetz »

Ich wollte es nicht auf eine Erweiterung beschränken, nur kenne ich nur die Routinen für die Turbo 1050 und hatte es deshalb als Beispiel genommen.

JoSch
Beiträge: 213
Registriert: 25.08.2021 21:40
Has thanked: 109 times
Been thanked: 73 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von JoSch »

LarsImNetz hat geschrieben:
17.05.2024 17:20
Ich wollte es nicht auf eine Erweiterung beschränken, nur kenne ich nur die Routinen für die Turbo 1050 und hatte es deshalb als Beispiel genommen.
Dann war das vielleicht unglücklich formuliert, aber es kam leider so an.

Zu dem Thema 1050 Turbo: Weiß jemand, was die Turbodrive-Routine macht? Haben wir den Code dafür?

Benutzeravatar
CharlieChaplin
Beiträge: 666
Registriert: 18.06.2021 22:59
Has thanked: 136 times
Been thanked: 177 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von CharlieChaplin »

Erhard hat geschrieben:
17.05.2024 09:21
.
Speedy 1050 Highspeed SIO

Known devices to support this are: Speedy 1050, HDI, APE.

CU, Erhard
Some nitpicking, Speedy 1050 means 1050 drive with Speedy, but afaik Speedy XF also supports this, as well as Floppy 2000.

Speedy and derivatives are more common in Germany, Turbo and derivatives (Top drive, TOMS drive, TOMS Multi, etc.) are more common in Poland, original Happy enhancements are more common in America, whereas Happy clones (non-original) are more common in Europe. US-Doubler (original and non-original) is very common in America, whereas USD (original, as well as non-original) is uncommon if not rare in Europe.

Benutzeravatar
CharlieChaplin
Beiträge: 666
Registriert: 18.06.2021 22:59
Has thanked: 136 times
Been thanked: 177 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von CharlieChaplin »

Hier ein paar Gamedos Varianten als XEX Files zum austesten.
Die meisten funkt. mit 90k und 130k, einige wenige nur mit 180k oder 360k.

Anmerkungen:
- Pico DOS 1.7 funkt. nur mit DD/180k
- NDOSDD funkt. nur mit DD/180k

- MiniDOS.XEX und XF1050.XEX sind eigentlich das gleiche Programm, warum sie unterschiedlich lang sind, weiß ich nicht. Nutzt man 90k oder 130k, dann lädt dieses Gamedos ohne Speeder und läuft mit 1050, XF551 und anderen Laufwerken; nutzt man 180k oder 360k so versucht das Gamedos XF-highspeed zu verwenden, was nur bei einer XF551 (oder kompatiblen LW) funktioniert.

- Fender's 3 sector file loader nutzt glaube ich Page 1 (oder war es Page 5?), es unterstützt nur 90k und 180k (um 130k zu nutzen, benötigt man ein DOS das nicht wie DOS 2.5 die < und > nutzt bzw. den Status einer Datei genauso wie bei DOS 2.0s anzeigt und keine Kennzeichnung für Medium Density vornimmt); komischerweise hängt sich bei der Wahl des Formats (90k / 180k) die Speedy erstmal auf, aus - und wieder einschalten löst das Problem

- File load 2.0 nutzt glaube ich Page 1, es unterstützt neben DOS 2.5 auch MyDOS (und ich glaube auch subdirs)
- Micro DOS II dürfte @ Dietrich kennen (copyright Stefan Dorndorf 1984, hehehe), es lädt keine Basic Dateien, man muss ohne Basic booten (Option drücken), es kann aber auch BIN-Dateien und/oder einteilige Tape-Dateien laden

- MyPicoDOS 4.06 barebone habe ich weggelassen, die benötigten Infos hat Hias ja oben genannt, den Download gibt es auf seiner Webseite
Dateianhänge
Gamedos_slow.zip
Gamedos ohne Speeder
(30.75 KiB) 45-mal heruntergeladen

Benutzeravatar
CharlieChaplin
Beiträge: 666
Registriert: 18.06.2021 22:59
Has thanked: 136 times
Been thanked: 177 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von CharlieChaplin »

So,
hier noch ein paar Gamedos Versionen mit Speeder. Viele dieser Gamedos Versionen laufen dann auch nur mit diesem einen Speeder (nur Turbo, nur XF, etc.) und wenn man diesen Speeder nicht hat oder nicht emulieren kann, dann geht da gar nix.

Bei Speed Start Init habe ich Version 3US und Version 3.0 beigefügt, ich glaube die neueste Version war aber V 3.4 (habe ich gerade auf die Schnelle nicht gefunden, ist aber in meiner Sammlung). Oder gibt es da sogar noch eine neuere Version ?

Bei manchen Gamedos Versionen weiß ich auch nicht, welcher Speeder unterstützt wird (vielleicht ja auch keiner) oder konnte nur ein paar davon herausfinden (z.B. bei WriteGAM.XEX wird Happy und Speedy unterstützt, ob auch XF oder Turbo oder USD unterstützt wird, weiß ich nicht).
Dateianhänge
Gamedos_fast.zip
(74.96 KiB) 49-mal heruntergeladen

Benutzeravatar
LarsImNetz
Beiträge: 175
Registriert: 24.08.2021 18:27
Has thanked: 144 times
Been thanked: 89 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von LarsImNetz »

Zu dem Thema 1050 Turbo: Weiß jemand, was die Turbodrive-Routine macht? Haben wir den Code dafür?
Für die Turbo 1050 hatte ich das mal disassembliert.

Dazu muss man wissen, das Pokey-Interrupts verwendet werden, um das SIO anzusteuern.

Die Routine klingt sich jetzt in den VIMIRQ Interrupt.
Wenn eine gewisse Bedingung gegeben ist, wird #6 in das AUDF3 Register geschrieben.
Dabei wird die Anzahl der Pokey-Interrupts hochgesetzt und damit läuft SIO dann flotter.
Es entspricht etwa 70000 baud.

Das sollte ja bei den anderen Speedern ähnlich laufen.

Erhard
Beiträge: 661
Registriert: 04.11.2021 15:52
Has thanked: 60 times
Been thanked: 175 times
Kontaktdaten:

Speeder-Routinen

Beitrag von Erhard »

.
APELoader (APE fileloader)

The loader does not support highspeed.

When you boot your Atari from APE while D1: is pointing to a PC directory you get a file loader menu.

In this menu you may select the base address for the loader from several given values.

Those values are $0110, $0400, $0600, $BF10.

The loader seems to occupy 128 bytes and seems to use a special command ($92) to load the file from APE and performs an indirect jump to the run address at the end = JMP ($02E0)

CU, Erhard
Just because you're paranoid don't mean they're not after you ...

(Quelle: Nirvana)

HiassofT
Beiträge: 149
Registriert: 17.08.2021 11:03
Wohnort: Salzburg, Austria
Has thanked: 12 times
Been thanked: 64 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von HiassofT »

JoSch hat geschrieben:
17.05.2024 18:42
Zu dem Thema 1050 Turbo: Weiß jemand, was die Turbodrive-Routine macht? Haben wir den Code dafür?
Ja, der komplette Source Code der 1050 Turbo ist hier verfügbar:
https://www.strotmann.de/~cas/Infothek/ ... _turbo.zip

Die highspeed SIO Routine ist im BOOTREC.M65 File enthalten.

Die highspeed Routinen der anderen Floppies (Happy/Speedy, Happy Warp, XF551) funktionieren etwas anders, der Trick mit den POKEY serial IRQs klappt so nur mit der Turbo (die schaltet die Geschwindigkeit direkt nach dem Senden des Command Frames hoch - die anderen Routinen früher bzw später).

Die genauen Unterschiede der Protokolle hab ich im README meines Highspeed SIO Codes beschrieben
https://github.com/HiassofT/highspeed-s ... #L450-L475

so long,

Hias

Benutzeravatar
CharlieChaplin
Beiträge: 666
Registriert: 18.06.2021 22:59
Has thanked: 136 times
Been thanked: 177 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von CharlieChaplin »

Nur mal so am Rande,

die Turbo arbeitet ja angeblich mit 68.200 Baud, Pokey divisor $06, die Speedy "nur" mit ca. 55k Baud und Pokey divisor $09. Also müsste die Turbo ja eigentlich deutlich schneller sein, als die Speedy... eigentlich. In der Praxis hatte ich aber immer das Gefühl, das die Speedy eine Diskette mit ultraspeed deutlich schneller kopiert, als die Turbo mit Turbospeed und spez. Turboformat (sector interleave). Auch das Booten/Laden einer Diskette geht mit der Speedy und ultraspeed deutlich flotter, als mit der Turbo und Turbospeed (auch mit spez. Turbo Format).

Nun sind gefühlte Geschwindigkeiten ja so eine Sache, in etwa genau so wie gefühlte Temperatur. Kürzlich habe ich das aber mal mit belegbaren Zahlen getestet und dafür das Programm RW-Test 4.x von KMK verwendet. Das Programm selber hat keinerlei Speeder eingebaut, also habe ich es auf eine DOS Diskette in a) 90k, b) 130k und c) 180k kopiert, bei der Speedy das normale Format verwendet und ein DOS das ultraspeed unterstützt, bei der Turbo das spez. Turboformat und ein DOS das die Turbo auch unterstützt. (Okay habe mir einen Tag Zeit genommen und neben TurboDOS XL/XE von Reitershan habe ich auch mit DOS 2.0s, DOS 2.0d, DOS 2.5, MyDOS, Super-DOS und SpartaDOS 3.2f und 3.2g getestet.). Mit dem jeweiligen DOS und Format wurde sodann RW-Test als Autorun.sys oder ähnliches in ultraspeed oder turbospeed gebootet...

Das Programm RW-Test schreibt nun 64k Daten auf eine Diskette, misst die Zeit und gibt die durchschnittliche Rate von Bytes pro Sekunde an, sodann liest es 64k von der Diskette und gibt dafür ebenfalls die durchschnittliche Rate von Bytes pro Sekunde an. Zum Abschluss wird noch die Durchschnittsrate von Schreiben + Lesen in Bytes pro Sekunde angegeben. Man kann sehen, dass Medium/130k schneller ist als Single/90k, ebenso ist Double/180k schneller als 90k oder 130k. Das war bei allen getesteten Speedern so (getestet mit: mini Speedy 1050, mini Super Speedy 1050, Happy clone, TOMS Multi drive, Turbo 1050 via Turbo Emulator, IS Plate). Normalerweise ist lesen auch schneller als schreiben, seltsamerweise schert die Speedy hier aus und hat höhere Schreibwerte als Lesewerte (und die mini Speedy war sogar ein wenig schneller als die mini Super Speedy).

Summa summarum war die Speedy jedoch stets schneller als die Turbo, sei es beim lesen oder beim schreiben. Nun sollten 68.200 Baud (Turbo) doch aber rein mathematisch schneller sein als ca. 57.000 Baud (Speedy) oder nicht ? Warum ist die Turbo also langsamer als die Speedy, frage ich mich ? In einem der Tests (90k/130k/180k) hatte ich bei der Turbo ca. 2000 Bytes pro Sekunde beim lesen, da hatte ich beim gleichen Format (90k/130k/180k) bei der mini Speedy ca. 2500 Bytes pro Sekunde beim lesen... alles irgendwie seltsam. Die Turbo oder die Speedy mag wohl Mathe nicht ?!?

HiassofT
Beiträge: 149
Registriert: 17.08.2021 11:03
Wohnort: Salzburg, Austria
Has thanked: 12 times
Been thanked: 64 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von HiassofT »

Der Grund für den Geschwindigkeitsunterschied ist der Trackbuffer.

Bei den Floppies ohne Trackbuffer ist der Sektorabstand so gewählt, dass der Atari zwischen den einzelnen Sektoren etwas Zeit hat die Daten zu verarbeiten ohne den nächsten Sektor zu verpassen (dann wirds langsam, da man eine ganze weitere Umdrehung warten muss).

Probier das einfach mal komplett ohne Highspeed SIO aus, also standard 130k in einer original 1050, Turbo oder Happy.

Die reine Übertragungsgeschwindigkeit ist nur einer der Faktoren.

so long,

Hias

JoSch
Beiträge: 213
Registriert: 25.08.2021 21:40
Has thanked: 109 times
Been thanked: 73 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von JoSch »

Gibt es halbwegs eindeutige Methoden, um die verschiedenen Erweiterungen zu erkennen?
Die Speedy erlaubt es ja den Speedercode runterzuladen. Wenn das sonst keine Erweiterung so macht, wäre das eine Methode.

Benutzeravatar
LarsImNetz
Beiträge: 175
Registriert: 24.08.2021 18:27
Has thanked: 144 times
Been thanked: 89 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von LarsImNetz »

JoSch hat geschrieben:
21.05.2024 19:42
Gibt es halbwegs eindeutige Methoden, um die verschiedenen Erweiterungen zu erkennen?
Die Speedy erlaubt es ja den Speedercode runterzuladen. Wenn das sonst keine Erweiterung so macht, wäre das eine Methode.
Der Percom Config-Block könnte vielleicht helfen.

https://www.atarimania.com/pgefaq_chapitre.awp?id=32

JoSch
Beiträge: 213
Registriert: 25.08.2021 21:40
Has thanked: 109 times
Been thanked: 73 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von JoSch »

Der sagt doch eigentlich nur etwas über die Diskgeometrie aus und nichts über die Erweiterung. Klar, man kann das Hardwaremanual von Altirra zu Rate ziehen, und dann aus den Antworten raten, welches Gerät man gerade anspricht. Wenn ich mich aber korrekt erinnere, dann ist das alles nicht so eindeutig, wie man das vielleicht braucht.

HiassofT
Beiträge: 149
Registriert: 17.08.2021 11:03
Wohnort: Salzburg, Austria
Has thanked: 12 times
Been thanked: 64 times
Kontaktdaten:

Re: Speeder-Routinen

Beitrag von HiassofT »

Zum Thema "Floppy Typ erkennen" gab's vor einiger Zeit einen Thread auf AtariAge:
https://forums.atariage.com/topic/34350 ... s-via-sio/

Kurzum: ist alles nicht so einfach :-)

Zum Thema Speeder / Highspeed SIO: es ist auch nicht allzu einfach festzustellen welche Highspeed Variante (Ultra-Speed, Happy Warp, XF551, 1050 Turbo, ...) eine Floppy unterstützt - zum Teil muss man die der Reihe nach durchprobieren.

Hier der Code den ich in meiner Highspeed SIO Routine verwende: https://github.com/HiassofT/highspeed-s ... siodet.src

Ultraspeed (Happy/Speedy/...) ist einfach, die Floppies (bzw Emulatoren) unterstützen alle das $3F Kommando welches den Pokey Divisor liefert. Das ist auch die am meisten verbreitete Highspeed Variante, also checke ich die als erstes.

Wenn man eine Happy vor sich hat (erkennbar am Divisor 10 und dass die Floppy das Happy Kommando $48 unterstützt) dann muss man unbedingt Fast Writes per Happy Kommando aktivieren, sonst kann die Happy falsche Daten auf die Floppy schreiben (wirklich ein blöder, aber allgemein bekannter, Bug).

Die (recht seltene) Happy 810 ist am $48 Kommando auch noch recht einfach erkennbar, wird das unterstützt, dann kann der Happy Warp Highspeed Code verwendet werden.

XF551 und 1050 Turbo sind etwas schwieriger, da probiert der Code einfach ein "Get Status" Kommando in der jeweiligen Highspeed Variante auszuführen. Da an verschiedenen Stellen von Standard auf Highspeed umgeschaltet wird geht das schief wenn nicht wirklich eine XF551/Turbo dran hängt (dann empfängt der Atari nämlich nur Schrott).

so long,

Hias

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast