Transferrate - Speed-Vergleich auf CP/M Plattformen

  • Hallo zusammen,


    gerade wieder ausgegraben (lang ist es her) Artikel aus der c't 02.89 - Transfertest unter Turbopascal für Floppy & Harddisk.

    Die Quellen sind für Turbo-Pascal 3.x, die Version *.KAY ist für den KAYPRO 10 (die Uhr war bei meinem nicht bestückt, hatte das aber geändert)!


    c't180 mit 9,216MHz (18,432MHz Quarz) mit 1 Mem-Wait, 3 I/O-Waits und CP/M3.x

    3-1/2" FDD HD 1,4MB mit FLO3:


    +---------------------------------------------------------------------------------------------------------+

    A>transfer


    Transfer, Version 2.12a, 3.12.88 CT / 07.90 A.K.


    Das Programm wird jetzt 960000 Bytes ins aktuelle Verzeichnis schreiben.


    Ist das ok ? (J/N) j


    Start schreiben, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 223.00 s

    Anzahl Byte: 960000 ==> Transferrate: 4305 Byte/s


    Start lesen, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 192.00 s

    Anzahl Byte: 960000 ==> Transferrate: 5000 Byte/s


    Die 960000 Byte grosse Testdatei gleich loeschen? (J/N) : j


    A>

    +---------------------------------------------------------------------------------------------------------+


    zum Vergleich 128MB DOM von pqi (Pollin) mit 8255 IDE Interface:


    C>transfer


    Transfer, Version 2.12a, 3.12.88 CT / 07.90 A.K.


    Das Programm wird jetzt 960000 Bytes ins aktuelle Verzeichnis schreiben.


    Ist das ok ? (J/N) j


    Start schreiben, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 26.00 s

    Anzahl Byte: 960000 ==> Transferrate: 36923 Byte/s


    Start lesen, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 22.00 s

    Anzahl Byte: 960000 ==> Transferrate: 43636 Byte/s


    Die 960000 Byte grosse Testdatei gleich loeschen? (J/N) : n


    C>


    +---------------------------------------------------------------------------------------------------------+


    Gruß

    Alfred

  • Hallo Alfred,

    hab ich mal angetestet, leider steigt der Compiler mit Fehler:

    ---------------------------------------

    TURBO Pascal system Version 3.01A

    CP/M-80, Z80

    Copyright (C) 1983,84,85 BORLAND Inc.

    --------------------------------------- .

    .

    Work file name: transfer.pas

    Loading G:TRANSFER.PAS


    >

    Compiling26 lines

    Error 98: Memory overflow. Press <ESC>

    aus...


    Kann aber auch an meine Installation liegen, da ich davon bisher nur den Editor benutzt habe.


    LG Werner

  • Den Fehler bei TP (TPA geht die Luft aus) kann man oft umgehen, wenn man nicht "Compile to Memory", sondern "Compile to COM file" ausführt. Dann müssen sich der Quellcode und die compilierte Datei nicht den Speicher teilen.


    Antwortet man auf "Load Error Messages" beim Starten von TP mit "Nein", hat man noch ein bißchen mehr Luft.

  • ... nun lässt es sich auch compilieren - steigt aber mit einem Run-time error 02 aus:


    Transfer, Version 2.11, 3.12.88 CT / 07.90 A.K.Das Programm wird jetzt 960000 Bytes ins aktuelle Verzeichnis schreiben.

    Ist das ok ? (J/N) jStart schreiben

    30 BloeckeDauer: 0.00 s


    Run-time error 02, PC=0192Program aborted


    LG Werner

  • Im Option Menue gibt es das Kommando "F" Find run-time error


    Memory

    compile -> Com-file

    cHn-file


    Start address: 20E3 (min 20E3)

    End address: EE42 (max F106)


    Find run-time error Quit


    >F

    Enter PC: 0192



    Searching

    159 lines


    Run-time error position found. Press <ESC>


    function time : real;

    var h,m,s,hs : byte;

    begin

    datetime(Day,Mon,Year,Hrs,Min,Sec); <=== genau hier passiert es!

    h := hrs;

    m := min;

    s := sec;

    hs:= 0;

    time := h * 3600.0 + m * 60 + s + hs / 100;

    end;

  • ... da scheint die Uhr im Prof180 wohl etwas anders zu gehen ;-))


    Ich schau mir mal die "function time" und die Ergebnisse in "ta" und "te" mal genauer an.


    Im Monitor sieht es so aus:


    Monitor

    :List time
    Date : 12/06/21

    Time : 17:47:22


    stört sich nicht an das Jahr 2021

    in CP/M aber schon :


    G>date

    Mon 12/06/<1 16:12:26
    G>


    funktioniert nur bis 1999.

    Also lebe ich erstmal im letzten Jahrhundert - schöner Gedanke - oder doch nicht - denn dann müsste ich wieder arbeiten ;-))


    LG Werner

    Einmal editiert, zuletzt von Werner_8085 ()

  • Da bin ich nochmal,


    ... hab alles gelöscht und die Quelldatei per DFUe neu auf den Prof geschaufelt und siehe da es funktioniert einwandfrei:


    Mit 3,5" Diskettenlaufwerk:


    A>transfer

    Transfer, Version 2.12a, 3.12.88 CT / 07.90 A.K.

    Das Programm wird jetzt 960000 Bytes ins aktuelle Verzeichnis schreiben.

    Ist das ok ? (J/N) j


    Start schreiben, Bloecke:

    123456789101112131415161718192021222324252627282930Dauer: 149.00 s


    Anzahl Byte: 960000 ==> Transferrate: 6443 Byte/s


    Start lesen, Bloecke:123456789101112131415161718192021222324252627282930

    Dauer: 100.00 s

    Anzahl Byte: 960000 ==> Transferrate: 9600 Byte/s

    Die 960000 Byte grosse Testdatei gleich loeschen? (J/N) : jA>



    Mit CF-Karte:


    G>transfer

    Transfer, Version 2.12a, 3.12.88 CT / 07.90 A.K.

    Das Programm wird jetzt 960000 Bytes ins aktuelle Verzeichnis schreiben.

    Ist das ok ? (J/N) j

    Start schreiben, Bloecke:123456789101112131415161718192021222324252627282930

    Dauer: 22.00 s

    Anzahl Byte: 960000 ==> Transferrate: 43636 Byte/s


    Start lesen, Bloecke:

    123456789101112131415161718192021222324252627282930Dauer: 18.00 s


    Anzahl Byte: 960000 ==> Transferrate: 53333 Byte/s


    Die 960000 Byte grosse Testdatei gleich loeschen? (J/N) : j

    G>


    Schöner Vergleich zwischen den beiden artverwandten Computern.

    Vor allem die "Festplatten" laufen für diese Generation super schön, macht richtig Spass damit zu arbeiten.


    LG Werner

  • Hallo zusammen,


    nochmals zum KAYPRO 10, bei meinem war damals die RTC nicht bestückt.

    Das Design war für die National MM58167A entwickelt, die von der Z80-PIO bedient wird.


    Meine Skizze von damals ist nicht schön aber selten:


    Statt dem 3,6V NiCd Akku würde ich heute einen SuperCap oder eine Lithiumbatterie verbauen.

    Dann hat man später das Säure-/Laugengeschlabber nicht ;-)!


    Hat auf jeden Fall bis zum Verkauf gut funktioniert.


    Gruß

    Alfred

  • Beim C't180 habe ich das Timing mit 1 MEM und 3 I/O-Waits sehr konservativ eingestellt.

    SInd ja auch teilweise mit heißer Nadel selbstgestrickte Boards auf dem BUS aktiv.


    Die I/O Waits wirken sich beim Floppy & IDE-Zugriff nicht besonders stark aus, aber das eine Wait beim Memory-Zugriff schon.


    -------------------------------------------------------------------------

    0 Mem-Wait, 2 I/O-Wait extern

    -------------------------------------------------------------------------


    C>ddtz

    DDT/Z [8101]

    > ib2

    60 01100000"

    >>o10,b2

    >>ib2

    10 00010000"

    >>g0


    C>a:


    A>transfer

    Transfer, Version 2.12a, 3.12.88 CT / 07.90 A.K.


    Das Programm wird jetzt 960000 Bytes ins aktuelle Verzeichnis schreiben.


    Ist das ok ? (J/N) j


    Start schreiben, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 98.00 s

    Anzahl Byte: 960000 ==> Transferrate: 9796 Byte/s


    Start lesen, Bloecke:

    123456789101112131415161718192021222324252627282930 j

    Dauer: 75.00 s

    Anzahl Byte: 960000 ==> Transferrate: 12800 Byte/s


    Die 960000 Byte grosse Testdatei gleich loeschen? (J/N) : j


    A>c:


    C>transfer

    Transfer, Version 2.12a, 3.12.88 CT / 07.90 A.K.


    Das Programm wird jetzt 960000 Bytes ins aktuelle Verzeichnis schreiben.


    Ist das ok ? (J/N) j


    Start schreiben, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 21.00 s

    Anzahl Byte: 960000 ==> Transferrate: 45714 Byte/s


    Start lesen, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 17.00 s

    Anzahl Byte: 960000 ==> Transferrate: 56471 Byte/s


    Die 960000 Byte grosse Testdatei gleich loeschen? (J/N) : j


    C>


    D.h. es geht nichts über ein schnelles RAM!


    Gruß

    Alfred

  • Prof 181X - nur CF-Karte


    Code
    =======================================================================
    PPPP  RRRR   OOO  FFFF     11  888   11 X   X
    P   P R   R O   O F       111 8   8 111 X   X
    P   P R   R O   O F         1 8   8   1  X X
    PPPP  RRRR  O   O FFF  ===  1  888    1   X
    P     R R   O   O F         1 8   8   1  X X
    p     R  R  O   O F         1 8   8   1 X   X
    P     R   R  OOO  F         1  888    1 T   X    Monitor Version 1.5
    =======================================================================

    PCF8583 Date : 12/08/21

    Time : 18:16:24


    system speed : 6.144 MHz

    system data backup : failed

    memory on board : 1024K byte


    floppy controller : ok

    DISI test : failed

    EPROM boot : not patched

    default boot device : floppy drive 0


    =======================================================================


    G>transfer

    Transfer, Version 2.12a, 3.12.88 CT / 07.90 A.K.


    Das Programm wird jetzt 960000 Bytes ins aktuelle Verzeichnis schreiben.


    Ist das ok ? (J/N) j


    Start schreiben, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 35.00 s

    Anzahl Byte: 960000 ==> Transferrate: 27429 Byte/s


    Start lesen, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 29.00 s

    Anzahl Byte: 960000 ==> Transferrate: 33103 Byte/s


    Die 960000 Byte grosse Testdatei gleich loeschen? (J/N) : j


    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


    Moderneres System SC126 - transfer nach CF Karte


    RomWBW HBIOS v3.1.1-pre.24, 2021-01-14


    SC126 Z8S180-N @ 36.864MHz IO=0xC0

    1 MEM W/S, 2 I/O W/S, INT MODE 2

    512KB ROM, 512KB RAM


    ASCI0: IO=0xC0 ASCI W/BRG MODE=115200,8,N,1

    ASCI1: IO=0xC1 ASCI W/BRG MODE=115200,8,N,1

    DSRTC: MODE=STD IO=0x0C Thu 2021-12-09 17:36:37 CHARGE=OFF

    MD: UNITS=2 ROMDISK=384KB RAMDISK=256KB

    IDE: IO=0x10 MODE=RC

    IDE0: 8-BIT LBA BLOCKS=0x0003D200 SIZE=122MB

    IDE1: NO MEDIA

    PPIDE: IO=0x20 PPI NOT PRESENT

    SD: MODE=SC OPR=0x0C CNTR=0xCA TRDR=0xCB DEVICES=1

    SD0: NO MEDIA


    Unit Device Type Capacity/Mode

    ---------- ---------- ---------------- --------------------

    Char 0 ASCI0: RS-232 115200,8,N,1

    Char 1 ASCI1: RS-232 115200,8,N,1

    Disk 0 MD1: RAM Disk 256KB,LBA

    Disk 1 MD0: ROM Disk 384KB,LBA

    Disk 2 IDE0: CompactFlash 122MB,LBA

    Disk 3 IDE1: Hard Disk --

    Disk 4 SD0: SD Card --


    A>transfer

    Transfer, Version 2.12a, 3.12.88 CT / 07.90 A.K.


    Das Programm wird jetzt 960000 Bytes ins aktuelle Verzeichnis schreiben.


    Ist das ok ? (J/N) j


    Start schreiben, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 9.00 s

    Anzahl Byte: 960000 ==> Transferrate: 106667 Byte/s


    Start lesen, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 7.00 s

    Anzahl Byte: 960000 ==> Transferrate: 137143 Byte/s


    Die 960000 Byte grosse Testdatei gleich loeschen? (J/N) : j

    Mit freundlichen Grüßen


    fritz

    Einmal editiert, zuletzt von fritzeflink ()

  • Zum Vergleich Ct180 mit CtHDC (WD1010) und NEC D3142 42MB MFM HDD (2x21 MB):


    C>transfer

    Transfer, Version 2.12a, 3.12.88 CT / 07.90 A.K.


    Das Programm wird jetzt 960000 Bytes ins aktuelle Verzeichnis schreiben.


    Ist das ok ? (J/N) j


    Start schreiben, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 24.00 s

    Anzahl Byte: 960000 ==> Transferrate: 40000 Byte/s


    Start lesen, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 22.00 s

    Anzahl Byte: 960000 ==> Transferrate: 43636 Byte/s


    Die 960000 Byte grosse Testdatei gleich loeschen? (J/N) : j


    C>

  • Hallo Fritz,


    ein Floppycontroller ist nice-to-have, wirst du beim SC126 vermutlich nie brauchen.

    Aber wenn man Spaß am bauen und erweitern hat, warum nicht ;-)!


    Hat eigentlich jemand ein GIDE am Start, es wäre interessant zu wissen,

    wie viel Geschwindigkeit das im Vergleich zum 8255 mehr bringt.


    Gruß

    Alfred

  • Zum Vergleich Ct180 mit CtHDC (WD1010) und NEC D3142 42MB MFM HDD (2x21 MB):

    Zu meinem Prof 181X ist ja die c't HDC und NEC HD vorhanden, allerdings aktuell nicht angeschlossen.

    Ich denke aber die Datenraten werden ähnlich sein.


    Meine CPU280 mit IDE (Vorläufer zu GIDE) ist leider auch nicht funktionstüchtig und wartet auf Zuwendung.

    Mit freundlichen Grüßen


    fritz

  • Der Prof80 auf meinem Tisch ist deutlich langsamer. ::cry::


    Prof-80:


    PROF-80, EPROM version 1.7 serial no. #28028

    128K RAM

    System speed 4150100 (Hz)


    Date Dec 17 1999

    Time 09:42:17


    <RETURN> => Monitor, <other key> => boot from Floppy

    CP/M 3 loader ...


    BNKBIOS3 SPR F700 0800

    BNKBIOS3 SPR C200 2E00

    RESBDOS3 SPR F100 0600

    BNKBDOS3 SPR 9400 2E00


    60K TPA

    PROF-80 CP/M Version 3, sample BIOS (C) 24.11.1984 Digital Research & Conitec

    -----------------------------------------------------------------------------------------------------------------------


    G>a:transfer

    Transfer, Version 2.12a, 3.12.88 CT / 07.90 A.K.

    Das Programm wird jetzt 960000 Bytes ins aktuelle Verzeichnis schreiben.

    Ist das ok ? (J/N) j


    Start schreiben, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 70.00 s

    Anzahl Byte: 960000 ==> Transferrate: 13714 Byte/s


    Start lesen, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 59.00 s

    Anzahl Byte: 960000 ==> Transferrate: 16271 Byte/s


    Die 960000 Byte grosse Testdatei gleich loeschen? (J/N) : j

    G>

    ##############################################################


    Nach Bufferanpassung durch GENCPM auf dem Prof wurde es nicht besser.


    A>f:

    F>transfer

    Transfer, Version 2.12a, 3.12.88 CT / 07.90 A.K.

    Das Programm wird jetzt 960000 Bytes ins aktuelle Verzeichnis schreiben.

    Ist das ok ? (J/N) j


    Start schreiben, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 71.00 s

    Anzahl Byte: 960000 ==> Transferrate: 13521 Byte/s


    Start lesen, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 61.00 s

    Anzahl Byte: 960000 ==> Transferrate: 15738 Byte/s


    Die 960000 Byte grosse Testdatei gleich loeschen? (J/N) : j



    F>

    Mit freundlichen Grüßen


    fritz

    Einmal editiert, zuletzt von fritzeflink ()

  • Moin,

    Fritz' Test-Run mit dem SC126 hat mich dazu veranlaßt, TRANSFER auch auf

    meinem Multicomp mit ZPM3 (m. SD-Karte) einmal laufen zu lassen. Das Ergebnis

    ist in sofern überraschend, das ich der Meinung war, das ein Z180 etwas

    schneller läuft wie ein Z80. Skaliere ich z. B. das Lese-Ergebnis auf die

    36,864MHz hoch, kämen 172800 Byte/s heraus. Die Waitstates bei seinem SC126

    bremsen das ganze doch schon erheblich. Fritz, kannst Du den Test mit 18,432MHz

    ohne Mem & IO-Waits wiederholen, dann wäre ein Vergleich realistischer ?. In wie weit das BIOS

    hier auch noch 'bremsend' mitwirkt, übersehe ich nicht. Aber die LBA-Rechnung

    bei CF- oder SD-Karte dürfte da (hoffentlich) nicht so viel ausmachen.


    ###############################################################################


    Transfer, Version 2.12a, 3.12.88 CT / 07.90 A.K. (auf Multicomp mit 25MHz)


    Das Programm wird jetzt 960000 Bytes ins aktuelle Verzeichnis schreiben.


    Ist das ok ? (J/N) J


    Start schreiben, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 9.00 s

    Anzahl Byte: 960000 ==> Transferrate: 106667 Byte/s


    Start lesen, Bloecke:

    123456789101112131415161718192021222324252627282930

    Dauer: 8.00 s

    Anzahl Byte: 960000 ==> Transferrate: 120000 Byte/s


    Die 960000 Byte grosse Testdatei gleich loeschen? (J/N) : J

  • Anbei die genutzten Dateien zur Systemerstellung. Ich habe überwiegend Copy und Paste gemacht...

    und das System erst mal unter YAZE erstellt.


    Mit der erstellten Bootdiskette ( Format #4) dann das Ganze auch noch mal am Prof-80 durchgespielt.


    Aufruf: gensys.sub