Beiträge von Werner_8085

    moin, moin,

    ja die CF-Karte ist mit Idetool formartiert.

    Gibt es für den CCP Patch eine Beschreibung ?


    LG Werner

    PS: aus dem ganzen Fundus von Fritz und mir funktionieren leider nur 2 CF-Karten: 1xTranscend CompactFlash Ultra mit 256MB

    und Microdia XtraPlus mit 512MB.

    Alle anderen von 128MB bis 3GB werden nicht erkannt. Genaue Typenbezeichnungen bzw. Leistungsmerkmale stehen

    auch nicht drauf - im PC funktionieren alle...

    Die CF-Karte und das Interface ist schon mal OK


    Enter LBA in hex (nnnn): 952f

    Enter LBA in hex (nn):

    LBA=E000952F, (R)ead (W)rite (L)BA +/- Spin(U,O) (H)ex(D)ump (F,V) (Q)uit: v


    This will check data on drive, are you sure (Y/N)? y

    Drive sector read test ok

    LBA=E0000000, (R)ead (W)rite (L)BA +/- Spin(U,O) (H)ex(D)ump (F,V) (Q)uit: q


    Der Prompt sieht für ein reines CP/M mit "A/0>" nicht richtig aus(A>), kommt wohl aus dem zcpr2 was aber nicht eingebunden ist ???

    Deshalb gibt es wohl auch die Probleme mit den Resisten Funktionen im CCP, wie era, dir etc.


    Also noch ein Wenig am System schrauben...


    LG Werner

    Habe noch ein paar Anpassungen im BIOS vorgenommen:


    mit IDETool CF-Karte getestet

    IDE Host Adapter Tool V1.13 06.2011 AK


    Model: TRANSCEND

    S/N: 20091019CF1009E4

    Rev: 20090520

    Type: ATA, Fixed

    CHS: 493, 16, 63

    MaxLBA:952F

    Status:00

    ;

    Soweit OK !

    .

    ; BIOS Parameter

    ; Fuer 256MB CF-Karte


    IDE_C EQU 493 ; 493 ; Cylinder

    IDE_H EQU 16 ; 16 ; Heads

    IDE_S EQU 63 ; 63 ; Sectoren

    .

    .

    ; Und den DPB auf 8MB angepasst

    ; IDE HDD = E:

    ;

    DPB4 EQU $

    DW 512*IDE_S/128 ; Sec per Track

    DB 5 ;Block Shift

    DB 31 ;Block Mask

    DB 3 ;Extnt Mask

    DW 2047 ; Disk Size-1

    DW 511 ;Direktory max

    DB 255 ;Alloc0

    DB 255 ;Alloc1

    DW 0 ;Check Size

    DW 1 ; 4 ;Offset

    XLT4 EQU 0 ;No Xlate Table

    ;

    Und hier das Ergebnis:


    60k FD-Boot v1.1


    Welcome to 60k CP/M v2.2

    6-Mhz Bios mit DEBLOCK v1.3 08.11 AK


    A/0>dir e:

    E: DDT COM : STAT COM

    A/0>e:

    E/0>stat

    A: R/W, Space: 608k

    E: R/W, Space: 7660k



    E/0>stat dsk:


    A: Drive Characteristics

    6304: 128 Byte Record Capacity

    788: Kilobyte Drive Capacity

    128: 32 Byte Directory Entries

    128: Checked Directory Entries

    512: Records/ Extent

    32: Records/ Block

    40: Sectors/ Track

    2: Reserved Tracks


    E: Drive Characteristics

    65536: 128 Byte Record Capacity

    8192: Kilobyte Drive Capacity

    512: 32 Byte Directory Entries

    0: Checked Directory Entries

    512: Records/ Extent

    32: Records/ Block

    252: Sectors/ Track

    1: Reserved Tracks


    Es gibt aber noch ein Problem, wenn das LW:E angesprochen wurde, hängt er sich manchmal einfach wech

    oder beim kopieren nach E:

    A/0>pip e:=a:asm.com


    NO DIRECTORY SPACE: =A:ASM.COM


    also noch ein paar Rätsel offen...

    LG Werner

    Hallo Alfred,

    nun kann ich mich erstmal um das CF-Interface kümmern.

    Beim Moppel mit dem ATMega musste es eine 1GB-Karte sein, denn die kleineren waren zu langsam, mit welchen CF-Karten hast du die besten Erfahrungen gemacht ?


    LG Werner

    Oh Wunder, er läuft nun endlich mit dem "neuen BIOS":

    ;

    ; CP/M 2.2 Bios 01.04.2007

    ; Filename BIOS.MAC

    ;

    ; Extern SIZE.MAC

    ; FLO1.MAC

    ; HDIDE.MAC

    ;

    Habe für die beiden Laufwerke erstmal das "87er-Format" eingebaut damit ich den Datentransfer hinbekomme,

    sieht dann schon mal so aus:

    60k FD-Boot v1.1


    Welcome to 60k CP/M v2.2

    6-Mhz Bios mit DEBLOCK v1.3 08.11 AK


    A/0>dir

    A: ASM COM : MAC COM : KERMIT COM : COPY COM

    A: DDT COM : DI COM : DUMP COM : ED COM

    A: LOAD COM : MOVCPM1 COM : PIP COM : S1FORM25 COM

    A: SFORM25 COM : STAT COM : SUBMIT COM : SYSGEN COM

    A: UNERASE COM : XSUB COM : EDIT COM : IDETOOL COM

    A: M80 COM : L80 COM : TEST ASM


    A/0>type test.asm

    Test mit CT180 und CP/M2

    Format A:/B: 80Tr;5Sek a. 1024Byte 4k-Blockgroesse

    ohne HDIDE

    -Test: CP/M Dateien einkopiert aus 87er Systemdiskette

    Edit, DDT, PIP, STAT etc. OK


    Für die Entwicklung bedarf es einige Tools und Helferlein:

    Auf dem WIN-PC leistet der Notepad++ die ganze Schreibarbeit, welche dann über Yaze assembliert und zusammengeschraubt wird. Ein paar SUB-Dateien in Yaze übernehmen dabei die Kommunikation zwischen WIN und CP/M. Unload22 macht mir daraus wieder eine schöne HEX-Datei die problemlos an den Moppel verschickt werden kann.

    Mit ihm werden die Systemspuren zusammengebaut (siehe weiter oben) und auf Diskette geschrieben.


    Das kann man natürlich auch alles direkt auf dem CT180 machen, aber bereits beim Editor ist mal eben einen Block aus einer anderen Version einkopieren Schluß. Und da ich viele Zyklen bis zum jetzigen Stand benötigte, hätte ich den längst in die Tonne getreten ;)


    Jetzt fehlt jetzt nur noch die CF-Karte...

    LG Werner


    @ Fritz: das war nur kosmetischer Natur (Hier wurde der Kaltstart überbrückt Kaltstart-Adr = Warmstart-Adr.)

    Hauptproplem war das "verschwundene BDOS"

    Es kommt ein Prompt "geflogen"- eine weitere Hürde ist geschafft.

    Da auf der Diskette außer den Systemspuren keine Daten vorhanden sind, ist das mit dem Warmstart etwas langweilig ;-))


    Der Bootvorgang ist ja schon recht komplex:

    Zunächst versucht der Bootlader aus dem Monitor den eigendlichen Bootlader aus den Systemspuren zu laden, dieser lädt dann CCP,BDOS und BIOS ins RAM und Springt zum Kaltstart, ein paar Initzialisierungen und BIOS-Meldung geht es dann zum CCP, dieser veranlasst erstmal übers BDOS einen Warmstart, der dann nochmals CCP und BDOS, obwohl bereits vorhanden, nachlädt.


    Hier sind dann ein paar Vereinfachungen nach Vorlage von Volker Pohlers (https://hc-ddr.hucki.net/wiki/doku.php/start) eingeflossen.

    Zudem war das BDOS, aus nicht nachvollziehbaren Gründen, plötzlich auf CC00h statt DC06h.


    Meine Annahme von oben, mit den logischen Zugriffen auf Systemspuren, muss ich korrigieren. In diesem BIOS wird das Nachladen von CCP und BDOS sehrwohl unter Berücksichtigung vom DPB durchgeführt. Bei einer Sektorgröße von 1024Byte bleibt einem auch kaum eine andere Wahl, denn CCP und BDOS passen dort nicht ohne Überhang rein. Also bleibt nur die Wahl alles in kleinen Häppchen von 128Byte (Record) über den Buffer und Deblocking-Routinen zu schaufeln. So können die vom BDOS benötigten Floppy-Routinen mitbenutzt werden oder anderesherum, müsste nur für den Warmstart eine Sonderlocke gestrickt werden.

    Im Moppel mit seiner Sektorlänge von 256Byte war das etwas einfacher zu lösen.


    Jetzt muss die Diskette mit den üblichen CP/M2 Programmen gefüllt werden damit man was mit anfangen kann. Hierzu ist erstmal im 22DISK das aktuelle Format einzubauen - es lebe die Vielfalt.


    LG Werner

    ... so ins unreine - die beiden Formate sind physikalisch identisch:

    DS, DD, 5Sektoren a 1024Byte erst der logische Zugriff über das BIOS macht den Unterschied bei den Nicht-Systemspuren

    wie Anzahl der logischen Sektoren, Blockgöße, Direktory etc.


    Auf meiner Testdiskette sind nur die Systemspuren mit Bootlader, CCP, BDOS und BIOS und diese werden auch an richtiger Stelle geladen. Nach einem Reset ist der Bereich D400h(CCP) und EA00(BIOS) bis EFFFh belegt, ab F000h steht ja wieder der neu geladene Monitor. Das ist für die detailierte Betrachtung sehr hinderlich ;)


    In der Endlosschleife habe ich zur Kontrolle eine Textausgabe eingefügt damit man das in etwa nachvollziehen kann.

    Im CCP einen HALT eingefügt ob er da überhaupt hinspringt - er tut es wie befohlen.


    Demnach veranlasst der CCP direkt wieder einen Warmstart...


    LG Werner

    Das mit den Formaten scheint der "Knausus-Kaktus" zu sein:

    87er BIOS

    ; Mixbios 01/1987

    ; Filename BIOS22.MAC

    ;

    ; Mini ohne Skew, fuer Flo1

    ;

    ; Drive A = 5 1/4 Zoll mit 5*1024*160

    ; Drive B = dto.

    ; Drive C = 64k CMOS-Ramfloppy

    ; Drive D = 8 Zoll Standard

    ;

    im Gensatz das 2007er BIOS

    ; CP/M 2.2 Bios 01.04.2007

    ; Filename BIOS.MAC;

    ; Drive A: = Mini AK 1024x5x80 DD/DS

    ; Drive B: = dto.

    ; Drive C: = Maxi IBM 3740 Standard SD/SS

    ; Drive D: = dto.

    ; Drive E: = IDE HDD 8/16/32MB

    ;

    und da meine Bootdisktette aus dem 87er erzeugt wurde ist das wohl kein Wunder das er vor de Pumpe läuft ;-((

    Also werde ich erstmal das BIOS mit den 87er Formaten neu aufbauen damit es unter meiner Hardware läuft.


    Da ich bei schönem Wetter am Wochenende kein Moped fahren werde (einfach viel zu voll und dazwischen die Kamikaze-Fahrer) bleibt da viel Zeit fürs BIOS...


    LG Werner

    PS: Ist ja schon ein Elend mit den unzähligen Formaten unter CP/M. das wird auch mein nächster Schritt ein gemeinsames Format auszusuchen und auf den drei Computern zu installieren.

    Ich Wünsche dir eine schöne Ausfahrt

    ... die Console habe ich auf die v24 des hd64180 gelegt, die restlichen Kanäle RDR,PUN u.List haben einfach ein RET bekommen.

    Das Bios meldet sich schon mal:


    60k FD-Boot v1.1


    Welcome to 60k CP/M v2.2

    6-Mhz Bios mit DEBLOCK v1.3 08.11 AK


    schon ganz schön - leider läuft er dann in einer Endlosschleife

    CCP --> Warmboot --> CCP--> Warmboot ...


    (Der CCP Prompt wird dabei nicht angezeigt)


    Rätsel über Rätsel ...


    LG Werner

    PS: den HDIDE-Teil habe ich erstmal abgehängt

    ...hatte nicht bedacht das die Quelle nicht auf den CT180 zugeschnitten war.

    Änderungen einpflegen assemblieren und fertig - ist ja auch zu einfach - "Und Einfach kann jeder".


    Der Bootlader funktioniert bereits und mit deiner Vorlage bekomme ich die Konsole im BIOS wohl hin.

    Wenn die sauber läuft, können RDR,PUN und LPT folgen...


    LG Werner

    ein kleines Stückchen weiter,


    Der Bootlader legt den 1.Sektor der Systemspur ja nach FC00h und springt den an (siehe oben).

    Stellt den Stack ein und soll dann eine Meldung absetzen:

    ;

    START: LD SP,100H

    LD HL,TEXT1

    CALL PRINT

    ;

    .

    ; Text ausgeben

    ;

    PRINT: LD A,(HL)

    OR A

    RET Z

    LD C,A

    CALL CO

    INC HL

    JR PRINT

    ;

    .

    ; Konsolausgabe

    ;

    CO:

    IN A,(SIOAST)

    AND 4

    JP Z,CO

    LD A,C

    OUT (SIOADA),A

    RET

    ;

    diese Ausgabe wurde hier neu programmiert im Gegensatz zu der funktionierende 87er Version.

    Dort wird die Konsolenschnittstelle vom Monitor F009h genutzt.


    Da das größere BIOS aber den Bereich F000-F800 überschreibt hat der Autor diesen Weg gewählt.

    Soweit so gut, nur die SIO die hier angesprochen wird gibt es bei mir garnicht (Exterene SIO-Karte auf Alfreds CT180).


    Manchmal sieht man den Wald vor lauter Bäumen nicht, also die Konsolenausgabe auf die im HD64180 umbauen -

    dann schauen wir mal auf die nächste Überraschung...


    LG Werner

    Hallo Alfred,

    nach ein paar Problemen mit dem Handwerkszeug, plötzlich defekte Diskettenlaufwerke im DOS-Rechner

    (22DISK) kann ich endlich mit dem CT180 weiter machen.


    Er läuft unter CP/M 2.2 mit dem

    ;

    ; Mixbios 01/1987

    ; Filename BIOS22.MAC

    ;

    nun einwandfrei.

    Auch mit den neu übersetzten Quellen und daraus gebauten Disketten funktioniert alles.


    Als zweiten Schritt habe ich deine Quellen

    ;

    ; CP/M 2.2 Bios 01.04.2007

    ; Filename BIOS.MAC

    ;

    auf meine Hardware (Flo3) angepasst.

    Da gibt es den ersten Stolperstein, hier läuft nur der Bootlader aus dem EPROM bis:


    CT180Mon 4.53 03.13 AK

    6xMhz B-80H MW-0 IOW-1

    512k RAM


    >

    >i

    1=FD 2=HD: 1 boot OS


    Die Meldung aus dem 2.Teil des Bootlader (Systemspur 0, Sektor 1) erscheint nicht

    und verschwindet nach kurzer Zeit ins Nirawana...


    Entweder wird der Sektor 1 nicht nach FC00h geladen oder nicht angesprungen, soweit so schlecht ;-))

    Kann ich mit den derzeitigen Boardmitteln noch nicht betrachten.


    In den Quellen habe ich lediglich Flo auf 0C0h, Flo1 auf False u. Clock auf 6Mhz gesetzt,

    gibt es noch weitere Stellen die beachtet werden müssen ?

    ... habe die beiden Diskettenlaufwerke ersetzt und mir aus der MCCPM.IMD (aus 1987) eine neue Bootdiskette gebaut. Bislang funktioniert alles bestens.

    Dann kann ich endlich mit der Anpassung der CF-Karte beginnen...


    LG Werner

    ...cp/m3 ist da natürlich komfortabler und kümmert sich selber drum.


    In dem oben beschriebenem Fall habe ich von A gebootet, Test ob das System richtig geladen wurde und versuche dann von B die Daten per PIP auf A zu kopieren.

    Dies Verhalten zeigt der ct180 nicht immer, es ist aber egal welche Boot-Diskette ich benutze. Manchmal klappt alles normal, ich habe da den leisen Verdacht das da noch eine Hardware-Macke schlummert da er ja auch unter cp/m3 nicht lauffähig ist...


    LG Werner

    Habe mich in den letzten Wochen mit meinem Utility für Systemspurbearbeitung beschäftig.

    Es läuft auf dem Moppel, da dort die besseren Vorrausetzungen vorhanden waren z.B. Intel-HEX laden und Diskettenroutinen um einzelne Sektoren zu lesen und schreiben. Im Prof gibt es das Intel-Hex Ladeprogramm nicht und im ct die Diskettenroutinen unter Monitorkontrolle nicht, müsste/könnte ich natürlich auch dort einbauen. Für das Moppel-BIOS gab es die Grundroutinen dazu schon und haben sich beim BIOS-bau bestens bewährt.


    Mit dem Progrämmchen werden die Systemspuren ins RAM geladen, das Diskettenformat kann über die Parameterauswahl entsprechend eingestellt werden

    z.B. SS/DS, Sektorgröße, Anzahl der Sektoren per Track, Quell/Ziel-LW etc. das ganze auch rückwärts, zwischendrin kann das BIOS mit dem Intel-Hexlader ausgetauscht werden. So ähnlich wie Sysgen nur flexibler, vorallem wenn noch kein CP/M-System bereit steht.

    Damit kann ich ganz komfortabel die Programme auf dem PC zusammenschrauben und direkt per Intel-Hex ins Zielsystem schieben ohne den Umweg über 22Disk.


    Ziel der ganzen Übung, für den ct180/prof180 die BIOS-Erweiterung der CF-Karte...


    Nun zurück zum ct180, der gibt mir immer wieder Rätsel auf:


    Sobald unter CP/M2 eine Datei in LW A: angelegt werden soll steigt er mit dem Schreibschutz aus, könnte ja an den Zeigern des DPH/DPB liegen,

    dann müsste er es aber immer anmeckern.


    Der Schreibschutz ist natürlich nicht gesetzt ;)


    Gibt es dafür eine einfache Erklärung ?


    LG Werner

    Ja genau. Die Datenschnittstelle zwischen Prob und LA ist als ECL ausgelegt. Vor guten 40Jahren war das wohl der HIT, heute hat man in jedem LAN-Kabel eine differzielle Datenübertragung...


    LG Werner

    Die Probe von Thomas Wedemeyer sieht doch sehr vielversprechend aus, auch wenn die ECL-Gatter MC101001 schon Obsolet sind (in China derzeit für ~6€). Natürlich wird sie nicht an den Daten der originalen rankommen, das halte ich auch nicht für notwendig denn mein Moppel läuft gerade mal mit 3Mhz und selbst beim Prof180 sind es 9Mhz - also im unterem KW-Bereich. Denn selbst mein kleiner OpenBench kommt damit gut klar, nur mit 16Kanälen schon mal ein kleines Handycap. In der Analyse der V24 und bei der IO-Selectierung reicht das aber aus.

    Ich habe auch nicht den Anspruch der damaligen Entwicklungsbüros, die viele 10.000DM dafür hinblättern mussten. Es reicht mir wenn die CPU-Zyklen am Takt und Adressen/Daten dargestellt werden können und das ist mit 45Kanälen ja machbar. Für die analogen ungereimtheiten steht da ja auch noch ein 100Mhz Oszi.


    Danke für den TIP und die schönen Bilder vom Innenleben

    LG Werner

    moin, moin,

    habe mir in den letzten Tagen einen TEK1240 zugelegt, da alle Unterlagen im Netz zur Verfügung stehen konnte ich nicht widerstehen zumal er gerade mal 60€ inkl Versandt gekostet hat. Selbsttest wird bis auf das exterene 64kRAM-Modul durchlaufen - abgezogen und ist somit erstmal klar. Für den Kurs waren natürlich keine Adapter P6460 dabei.


    Hat jemand eine Idee wo ich sowas zum akzeptablen Preis bekommen oder irgendwie selber bauen kann. (ist leider nicht einfach TTL sondern in Differenzial ECL)




    Ist natürlich Steinzeittechnik aus 1983 aber für meine alten Computer bestimmt völlig ausreichend.


    LG Werner

    Hab mal das BASIC-Modul zum Epson-PX8 wieder rausgekramt, er schlägt sich mit seinen mageren 2,45Mhz

    mit rund 9 Minuten ganz tapfer, liegt aber deutlich hinter dem Moppel (ca.7Minuten).

    Nur die Anzeige ist mit 8 Zeilen nicht der Hit.

    (Man kann natürlich mittels Cursor in den virtuellen 24Zeilen scollen)


    LG Werner

    hab mal das BASIC für den Moppel (CPU 8085 mit 3Mhz) reaktiviert und die paar Zeilen eingetippt.

    Das Ergebnis sieht auf dem Bildschirm nicht schön aus, zwischen jedem Leerzeichen fügt er noch ein § hinzu ???


    Für den Durchlauf benötigt er 7:38

    Gemessen an der Hardware gar nicht so übel, finde ich...

    LG Werner


    Peter z80.eu : Laut Conitec klappt er auch mit 24Mhz, aber nur mit externem Oszilator und den Umbau möchte ich mir ersparen...

    Moin, moin,

    bis ich eine Idee und Plan zu diesem Problem habe konzentriere ich mich zunächst auf CP/M 2 und die Einbindung der CF-Karte - Quellen sind ja dank Eurer Hilfe vorhanden - schauen wir mal...


    LG Werner

    ... nichts konkretes gefunden, ledichlich ein Ribbel von ~250mV auf allen Leitungen.


    Was mich ein wenig irritiert sind die Jumper J5 und J6:

    - J5 steht bei mir auf N=256K*1 (sind ja auch verbaut)

    - J6 hier ist W und X geschlossen, laut Beschreibung ist dann nur der Speicher von 0-384K an Board, Rest extern ???


    - die PIO ist auf 60h damit sich das nicht mit den internen ab 80h nicht beisst (ist derzeit arbeitslos)


    jetzt erstmal Pause - zur Not ist es ja ein ordentlicher CP/M2 Computer ;-))


    LG Werner

    Hallo Alfred,

    es sind 16 x TMS4256-10NL verbaud, in der Beschreibung sollten TEXAS RAMs nicht eingebaut werden.

    Hab sie gegen TMM41256-12 aus dem Prof180x getauscht keine Veränderung im Fehlerbild.

    Dafür hat nun der Prof schnelle Speicher, so bleibt dort Luft für die Umrüstung auf 18Mhz...


    Ich schau mal weiter ob das Oszi irgend einen Hinweis gibt, nur mit zwei Kanälen + Trigger ist das etwas mühsam...