CP/M-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Memberlist || Home || Statistik || Kalender || Staff Willkommen Gast!
[ Unofficial CP/M Website ] [ Z80 Family Support Page ] [ Forum-Regeln ] [ Impressum/Kontakt ] [ Datenschutzerklärung ]

CP/M-Forum » Hardwareprojekte » The Ultimate Z80 SBC » Threadansicht

Autor Thread - Seiten: -1- [ 2 ] [ 3 ] [ 4 ] ... [ Letzte Seite ]
000
05.05.2007, 20:19 Uhr
FanDjango



Hallo liebe Z80 und CP/M freunde...

Zur Geschichte: CP/M war auch bei mir, und die Z80 CPU (nach der 8080), meine erste "Computerliebe".

Über 12k XITAN Disk Basic (eigenhändig eingetippt und in 2708er gebrannt) und so weiter dann endlich zu CP/M, alles immer selber gebaut.

Und dann eben mit XT, AT, u.s.w. in die "heile" IBM Welt.

Nach ca. 25 Jahren wollte ich es wissen, kannte ich doch damals die Anschlussbelegungen der meisten 74xxx TI chips auswending, auch die Z80 Opcodes konnte ich im Kopf dissassemblieren. Mein Beruf hatte mich ja weit von diesen Dingen wegverfrachtet.

Also, mein Ziel war: Mit den Teilen von heute, aber nicht zu extrem (also ich muss es noch mit Lesebrille sehen können, was ich mache...), höherem Einkommen als damals, den Rechner von damals zu bauen.

Erstes Ergebnis: Es reicht ein Steckernetzteil. Früher musste ich betteln gehen um Trafos für 5V 10A zu finden (8V~, 78H05=10A, Kühlblech etc.).

Ich habe:

Z80 CPU, 2x BS62LV4006 512kx8 RAM, 2x 27C040 EPROM, 3 GALs 16V8, ein 74LS373, ein 82C55, ein ATMEGA8 und ein ATMEGA32 zusammengeschaltet.

Macht also 32 Bänke a 64Kb, davon 3 für CP/M und 29 für RamDrive A: und ROMDrive B:, C:

Dann husch-husch ein 25 Jahre altes BIOS neugeschrieben und mit der Hilfe von TDLASM auf einem PC mit DOS 6.22 und z80MU assembliert, in das eine EPROM hineingeschossen und nach zugegeben etwas vielen Trials und Errors bootet CP/M. Wau!

VIELEN DANK an die immer noch tätige CP/M, S-100 und Z80 Gemeinde. Ohne euch wäre es nicht gegangen -denn mein Zeug war so vergilbt das man es kaum lesen konnte.

Zum Debugging habe ich noch einige LEDs und eine 4-Stellige ASCII Anzeige auf das Board getan.

Nächster Schritt: Entweder GIDE (Teile schon besorgt) oder noch schöner: Via dem ATMEGA32 eine 32MB SD-Card als "HardDisk". SD-Sockel schon gekauft...sowie das hervorragende Teminal-On-A-Chip TVT-KVGA von www.terminal.de

Wie gehen hier Photos einzustellen? Ich habe ein Paar.

Z80 Ultimate SBC - ATmega32 Interface V1.1
Init Complete

Z80 Ultimate SBC BOOT
Z80 Ultimate SBC BIOS
A>b:
B>c:
C>stat
A: R/W, Space: 774k
B: R/W, Space: 2k
C: R/W, Space: 290k


C>

Und jetzt spiele ich erst mal ein bisschen damit. Wenn jemand mehr details wissen möchte, einfach posten...
--
Ich löte noch....

Dieser Post wurde am 05.05.2007 um 20:20 Uhr von FanDjango editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
001
05.05.2007, 21:01 Uhr
HD64180CPM



Hallo FanDjango,

an Infos bin ich immer interessiert

Wenn Du eine Homepage hast einfach einen Link zu Deinen Foto benutzen.

Gruß
Rolf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
002
06.05.2007, 11:30 Uhr
gabyde
Administrator
Avatar von gabyde

Hallo FanDjango,

Fotos direkt einzustellen geht hier leider nicht, aber wie Rolf schon schrieb: einfach auf Deine Homepage legen und per "[img]"-Tag hier einbinden bzw. einen Link dazu setzen.
Du kannst natürlich auch einen kostenlosen Fotoservice wie z.B. imageshack benutzen.

Ciao, Gaby
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
003
06.05.2007, 11:58 Uhr
HD64180CPM



Hallo FanDjango,

wenn Du zum Beispiel ein Listing oder eine groessere Beschreibung von Deinen Z80 Ultimate SBC hast ist es auch besser einen Link zu setzen.

Gruss
Rolf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
004
06.05.2007, 14:37 Uhr
proof80



Hallo FanDjango!


Zitat:
FanDjango postete
...sowie das hervorragende Teminal-On-A-Chip TVT-KVGA von www.terminal.de

Der link sollte wohl auf http://www.tvterminal.de/ gehen. Bei dem von Dir angegebenen link kommt man bei einer Firma Polygon GmbH raus, die keine OnChip-Lösungen anbietet.

Ist aber ein super Tipp - kann man immer brauchen.

An den Bildern zu Deinem Projekt hätte ich ebenfalls großes Interesse.

Gruß, Wolfram
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
005
06.05.2007, 17:09 Uhr
HD64180CPM



Hallo Wolfram,

vielen Dank für Deinen Link.

Gruss
Rolf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
006
06.05.2007, 23:27 Uhr
hschuetz

Avatar von hschuetz

Hallo FanDjango,
solltest du keine Homepage haben.... ich hab noch Platz..... schreib ein paar Zeilen dazu... oder mach ne Bauanleitung draus, es gibt sicher eine Menge Leute die noch bauen wollen...

Gruß
Hans- Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
007
07.05.2007, 00:21 Uhr
FanDjango



Hallo alle,

danke für den Feedback. Es sind also tatsächlich einige von uns da draussen noch am werkeln....

ooops. der link ist tatsächlich falsch gewesen (so was, aber auch...).
Es stimmt: http://www.tvterminal.de wäre richtig.

Also, ich habe unter

http://www.ansynova.de/gaby/usbc.zip

folgendes Material eingestellt: (Achtung: ca. 9MB)

zwei cpm-2.2 disks die ich noch rumliegen hatte (für mich waren fast die Boot-Tracks interessanter als der Inhalt). Den Inhalt poste ich weiter unten als DIR output.

master.bin
system.bin

desweiteren 3 fotos von der schaltung

3 pal eqn dateien + pal compiler output

2 assembler input und listing dateien des bios. Das BIOS liest quasi master.bin und system.bin aus den beiden EEPROMS und tut so, also ob das Floppy B: und C: seien. Floppy A: ist im RAM.

Komplette ROM Inhalte sind natürlich auch bei mir irgendwo als Dateien verfügbar.

Unglaublich aber war: Ich habe keine Schaltung des ganzen. Ich hab's Schritt für Schritt nach "logischen" Kriterien und den Pin-Outs der Z80 und der Memory-Bausteine zamge"bus"selt. Lediglich die Adressdekodierung war etwas lustiger...

Der ATMEGA8 ist völlig unwesentlich: Er macht einen schönen Reset der Z80 und steuert die 10 LED an, abhängig vom Bank-Select.

Der ATMEGA32 ist meine UART nach draussen (mir fehlte eine Z80 SIO, also nahm ich die PIO 82C55 im PORT A = Bidirectional Mode und übertrage an den ATMEGA32. Der kann dann später auch die SD-Card ansteuern.

Die ATMEL Listings (in PASCAL) sind auch dabei.

Die 2 Disk Images gehorchen folgendem DPB:

0030 .word 48. ; SPT
040F01 .byte 4,15.,1 ; BSH, BLM, EXM
00AE .word 174. ; DSM
003F .word 63. ; DRM
8000 .byte 080,00 ; AL1, AL2
0010 .word 16. ; CKS = (DRM+1)/4
0001 .word 1. ; OFF

Directorys der beiden:

B>dir
B: BDOS3 SPR : BNKBDOS3 SPR : CCP COM : COPYSYS COM
B: CPMLDR REL : DATE COM : DEVICE COM : DIR COM
B: DIRLBL RSX : DUMP COM : ED COM : ERASE COM
B: GENCOM COM : GENCPM COM : GET COM : INITDIR COM
B: LIB COM : LINK COM : MAC COM : PATCH COM
B: PIP COM : PUT COM : RENAME COM : RESBDOS3 SPR
B: RMAC COM : SAVE COM : SET COM : HELP COM
B: HELP HLP : COPYSYS ASM : HEXCOM COM : BOOT ASM
B>dir c:
C: PUP COM : PIP COM : INITCOLR COM : DUMP $$$
C: CPM3 SYS : GETIBM COM : CPM3 SYS : PUTIBM COM
C: STAT COM : CPMLDR COM
B>

Es waren halt 2 irgendwelche Disketten, die ich noch im Fundus gefunden habe. Random Inhalt sozusagen. Stammen wohl von einem Versuch, von CP/M 2.2 auf CP/M 3.0 umzusteigen, dem Inhalt zufolge.

Naja, ich rätsel noch wie ich am einfachsten FILES vom PC zum CP/M Rechner übertragen kann (sobald die SD-Karte funzt - die wird also eine 32MB HardDisk sein) - mit PIP??? Mit PIP sollte es gehen, per Seriell I/O und Hilfsprogramm am PC, aber Datei für Datei? Uff. Irgendwie die BDOS Aufrufe (Datei Öffnen, Datei lesen etc) abfangen und an den PC verfrachten, dort ausführen? Am PC ein Programm schreiben, welches Dateien in das CP/M Disk Format verfrachtet? Z80 Kermit? Mal sehen was mir einfällt. Ich kann ja nicht nur mit Disk Images arbeiten. Ich muss ja auch eine Datei, z.B. WS.COM und WS.OVL zu dem Ding rüberbringen...

Übrigens: Ich bin im Besitz von einem original Doppelschuber mit DR CP/M 3.0 inklusive 2 8" original disketten, komplette Doku und alles. Hatte ich mal annu dazumal gekauft und dann NIE HERGENOMMEN, oh Frevel!

Mein 8" Laufwerk will aber nicht funktionieren. Mist. Diese Dateien sind aber wie ich sehe alle schon im www, also ist das nicht so schlimm.

Ich berichte weiter...
--
Ich löte noch....

Dieser Post wurde am 07.05.2007 um 00:26 Uhr von FanDjango editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
008
07.05.2007, 00:31 Uhr
FanDjango




Zitat:
hschuetz postete
Hallo FanDjango,
solltest du keine Homepage haben.... ich hab noch Platz..... schreib ein paar Zeilen dazu... oder mach ne Bauanleitung draus, es gibt sicher eine Menge Leute die noch bauen wollen...

Gruß
Hans- Werner

Hallo Hans-Werner,
Glaubst Du wirklich das noch welche sowas bauen wollen? Ich meine, ich selber bin doch eigentlich kein Beweis dafür. Wenn ich so bei jüngeren rumfrage, sinds kaum noch welche die Löten wollen.
Gruß,
Mike
--
Ich löte noch....

Dieser Post wurde am 07.05.2007 um 00:31 Uhr von FanDjango editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
009
07.05.2007, 01:09 Uhr
HD64180CPM



Hallo Mike,

vielen Dank für Deine Infos.
Wenn es sein muss löte ich auch noch.

Gruss
Rolf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
010
07.05.2007, 06:48 Uhr
proof80




Zitat:
FanDjango postete
Glaubst Du wirklich das noch welche sowas bauen wollen? Ich meine, ich selber bin doch eigentlich kein Beweis dafür. Wenn ich so bei jüngeren rumfrage, sinds kaum noch welche die Löten wollen.
Gruß,
Mike

Hallo Mike,

auch wenn ich mit Jg '63 vielleicht nicht mehr zu den "Jüngeren" zähle (das ist aber relativ!), muss ich für die Lötfraktion doch mal eine Bresche schlagen. Wo bleibt denn der Spass, wenn alles nur fertig gekauft wird? Selber kochen macht doch auch Laune, oder?

Gruß, Wolfram
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
011
07.05.2007, 09:47 Uhr
hschuetz

Avatar von hschuetz

Hallo FanDjango,
wenn ein Projekt wie die MyCPU schon Preise gewinnt... ist ein Selbstbauprojekt aus TTL's..
Bei uns laufen ständig neue Projekte (NDR Klein Computer) schau ruhig mal rein
http://www.schuetz.thtec.org/
http://www.schuetz.thtec.org/Mycpuweb/web/html/index.html

die Telnet Fernbedienung funzt im Moment nicht... kommt aber bald
viel Spass beim stöbern!

Disketten am PC kann man gut mit Teledisk lesen, dir Images lassen sich mit Jadump http://www.schuetz.thtec.org/NKC/soft/soft.html auspacken, dann hat man dosdateien. Schau mal bei Gaby.de da gibt es jede Menge Software.
Gruß
Hans- Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
012
07.05.2007, 19:58 Uhr
gabyde
Administrator
Avatar von gabyde

Noch eine ganz wichtige Website: http://www.zfest.de/
Vielleicht hast Du ja Zeit zu kommen und Dein Projekt vorzustellen?
Lötkolben und Leute mit Lizenz zum Löten sind genügend vor Ort vorhanden

Ciao, Gaby
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
013
20.07.2007, 22:45 Uhr
FanDjango



Ich hoffe keiner glaubt nach der langen Pause, daß mein wieder erwachtes Interesse an Retro-Computing nur ein Strohfeuer war.

Erst mal wurde Frühling, und Sommer (Motorrad fahren, Urlaub und Boot fahren).

Außerdem Beruf, Beruf Beruf. Aber wer kennt das nicht?

Nun. Ich habe das bestehende Projekt

1. Abgespeckt: Nur noch ein (E)EPROM Chip. Nur noch ein RAM. Also 512KB EPROM und 512KB RAM. Ergibt ein RAMFloppy A:, eine ROMFloppy B:. Reicht.

2. Hinzunahme SD-Interface, billige 1GB Karten als 16 Stück 32MB Festplatten mit C: - R: gesteuert via dem ATMEL ATMEGA32, der auch das serielle I/O zum Terminal übernimmt.

3. Und Overkill: Ha! Full EURO Platine mit EAGLE entwickelt und produzieren lassen, ich bestücke und löte sie gerade, dann debuggen ob der Prototyp noch geändert werden muss, BIOS neu schreiben, dann ein Paar 1GB SD Karten mit einem PC-Programm, welches ich noch schreiben muss, mit all dem Kram bestücken, welchen man braucht...

Die Platine dürfte das aufregendste sein, was ich mir seit langen geleistet habe. War gar nicht so teuer. Photos demnächst.
--
Ich löte noch....
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
014
20.07.2007, 23:14 Uhr
hschuetz

Avatar von hschuetz

Hallo Mike,
hört sich super an... we will see....
Vielleicht creierst du ja den neuen Kultrechner des Jahres....

Gruß
Hans- Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
015
21.07.2007, 09:06 Uhr
proof80



Hallo Mike,

schön wieder von Dir zu hören. Klingt auch echt aufregend, was Du da auskochst - ich könnte mich Deiner Fangemeinde locker anschließen.


Zitat:
FanDjango postete
... dann ein Paar 1GB SD Karten mit einem PC-Programm, welches ich noch schreiben muss, mit all dem Kram bestücken, welchen man braucht ...

Dazu eine Idee, die mir gestern kam: Bevor wir das Rad neu erfinden, lassen wir den Job doch von bereits laufender Software machen!
Ich denke dabei an YAZE-AG (jemand dabei, der's noch nicht getestet hat?). Also schreib die Routinen für die SD-Karte so, dass Du am PC nur die passenden YAZE-Dateien auf die SD kopieren musst! Mehr ist nicht nötig. Die Karte wird FAT16 formatiert und bespielt. Der PC sieht eine oder mehrere (YAZE-) Dateien, wo der Z80 jeweils ein komplettes Laufwerk findet!
Wenn man sich dabei an eine Größe hält und auf dem PC statt wild rumzulöschen fein säuberlich eine Datei nach der anderen raufkopiert, müsste der CP/M-Rechner seine "Laufwerke" an immer gleichen Adressen auf der SD finden. Korrigiert mich, wenn ich da einen Denkfehler eingebaut habe.

Rainer und ich entwickeln gerade ein CF-Interface für ECB-Bus (PROF-80), das leicht auf andere Systeme anzupassen sein wird. Es kommt ohne zusätzlichen Controller aus und läuft gänzlich über I/O. Ich denke, da werden wir das von mir hier beschriebene System zum Datenaustausch auch einbauen.

Gruß, Wolfram

P.S.: Bin gespannt, wie's weitergeht!

Dieser Post wurde am 21.07.2007 um 09:07 Uhr von proof80 editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
016
21.07.2007, 20:59 Uhr
FanDjango



Hans-Werner: Danke. Naja, aber auf ner Euro-Karte und alle Bauteile noch DIP statt SMD - da wird keiner vom Hocker gerissen. Aber basteln ist ja so schööön... und einen Unterschied gibt's zu der Zeit um 1975: Mein Budget ist höher. Achso, und ich bin inzwischen weitsichtig.

Wolfram: Das könnte natürlich für mich DER Tipp sein: Denn: Ein Kopier-Programm für Z80-Dateien, die als MS-DOS Dateien (die auf einem FAT Laufwerk stehen) in die etwas primitivere CP/M Struktur müsste ich erst noch schreiben.

Ich plane allerdings auf jeden Fall: Boot von EPROM, falls aber eine SD-Card drinnen steckt so sollen die ersten "Sektoren" einen alternativen Boot erlauben (also BIOS Änderungen ohne EPROM neuprog möglich machen). Erst ab Sektor 1000 (oder sowas) sollen Nutzdaten kommen. Ich brauche also auch ein FORMAT Programm mit einigen Schmackazien...

Übrigens habe ich aufgehört bei Freunden nach 8MB, 16MB oder gar 256MB SD Cards zu betteln - zu oft bekommen ich blöde Fragen gestellt. Ich habe einfach bei Conrad 10 x 1GB zum Spottpreis gekauft - selbst wenn am Anfang nur 32MB voll werden. Weisst Du noch was damals die 5MB Harddisk (SCSI) gekostet hatte, 1975? Urks!).

Als sehr sehr Hilfreich erweist sich der Umweg über den ATMEL Prozessor und der 8255 PIO im BUS-Mode. Mein ATMEL Pascal Kompiler hat die nötigen Libraries für Serielle Kommunikation und eben auch für SD Karten-Zugriff via FAT. Dieser Kode läuft NICHT in der z80, sondern im ATMEGA. Und ein AVR Test-Board mit SD Kartenplatz ist in meinem Inventar.

Da dieses auch ein Ethernet-Controller mit Library beinhaltet, wäre ein Umleiten von CP/M AUX auf TCP denkbar - also PIP von und zu FTP eines Tages vielleicht, falls man mal so RICHTIG viel Zeit hat. Aber so weit wird es wohl nicht kommen.

Also - ich guck mir mal das YAZE an, danke für den Hinweis - vielleicht kann ich da was abstauben. Fotos zum laufenden Fortschritt kommen im Laufe der kommenden Woche.
--
Ich löte noch....
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
017
21.07.2007, 21:14 Uhr
FanDjango



Wolfram: So, habe mich mal etwas sachkundig gemacht.

Die SD Karte wird also am PC im Format FAT16 mit, sagen wir mal, 32MB großen Dateien bestückt, davon zB. 16 an der Zahl.

File1: 32MB
File2: 32MB
...
...
File16: 32MB

Sorgfältig sequentiell angelegt und mit Nullen gefüllt, liegen diese immer an der selben Stelle und steng aufsteigend gespeichert.

Ok. Und die File1, z.B., in ihrem inneren, gehorcht dem CP/M Format (Directory + Dara), und zwar in der grösse von gloriosen 32MB wie eine Festplatte von Anno-Dazumal. 16 Stück davon, in diesem Beispiel.

Nice.

Wie kommt nun eine Datei PLI80.COM, die ich auf meinem Rechner zufällig habe (MS-DOS, aber gedacht für CP/M), in die File1 hinein?

Da habe ich wohl ein wenig zu scheiben.

Oder ich passe mich an an YAZE und nehme was da zu haben ist. Wie hat dieser Mensch denn das Zeug in dieses Format gebracht? Habe ich was verpasst und da gibt es ein Utility?
--
Ich löte noch....

Dieser Post wurde am 21.07.2007 um 21:15 Uhr von FanDjango editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
018
21.07.2007, 21:30 Uhr
proof80




Zitat:
FanDjango postete
...
Ein Kopier-Programm für Z80-Dateien, die als MS-DOS Dateien (die auf einem FAT Laufwerk stehen) in die etwas primitivere CP/M Struktur müsste ich erst noch schreiben.
...

In der Dokumentation zu YAZE findet sich:

The new disk header occupies the first 128 BYTES of the file and has the new format:

Quellcode:
0 -   9    <CPM_Disk>
         10 -  15    a null-terminated ascii comment (may be empty)
     new 16          version (0 = yaze-1.06/1.10, 1 = yaze-ag-2.xx)
         17 -  31    a null-terminated ascii comment (may be empty)
         32 -  33    sectors per track
         34          block shift factor
         35          block mask
         36          extent mask
         37 -  38    disk size max
         39 -  40    directory max
         41          al0
         42          al1
         43 -  44    check size (always zero)
         45 -  46    track offset
     new 47          psh (used if version=1 and CP/M 3.1 is running)
     new 48          phm ( "   "    "   "    "   "   "   "    "    )
         49 - 127    unused (zeros)

Was danach kommt, entspricht genau dem, was man auf einer CP/M-Disk erwartet. Mit dem Dos- (oder Linux-)Programm cdm.exe kann man solche "Dateien" als Laufwerk mounten und hinein- wie herauskopieren.
Alles, was man noch machen müsste, ist den header auswerten und ins System einarbeiten.

Wenn man die SD oder CF auf dem PC neu beschreibt, steht die "Datei" am Stück fein säuberlich auf dem Medium und müsste ohne weiteres auf dem Zielsystem zu dekodieren sein.

Ich würde Dir einfach mal eine Beispieldatei schicken, die Du Dir in einem Hex-Editor anschauen kannst. Was meinst Du?

Gruß, Wolfram

Dieser Post wurde am 21.07.2007 um 21:30 Uhr von proof80 editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
019
21.07.2007, 22:30 Uhr
proof80




Zitat:
FanDjango postete
Wie kommt nun eine Datei PLI80.COM, die ich auf meinem Rechner zufällig habe (MS-DOS, aber gedacht für CP/M), in die File1 hinein?

Da habe ich wohl ein wenig zu schreiben.

Oder ich passe mich an an YAZE und nehme was da zu haben ist.
Wie hat dieser Mensch denn das Zeug in dieses Format gebracht?
Habe ich was verpasst und da gibt es ein Utility?

Anscheinend schon, denn YAZE ist quelloffen (in C geschrieben, daher für verschiedene Hostsysteme Kompilierbar. Wie sieht das Folgende denn aus:

Quellcode:
dsm = (size - offs*spt*128)/bsize - 1;
    checkval(spt <= 0xffff, spt, "sectors per track");
    checkval(size/(spt*128)+offs <= 0xffff, size/(spt*128)+offs, "tracks");
    checkval(((bsize&(bsize-1))==0) &&
         (bsize >= ((dsm < 256) ? 1024 : 2048)) &&
         bsize <= 16384, bsize, "block size");
    dblocks = ((drm+1)*32+bsize-1)/bsize;
    checkval(dblocks<=16 && dblocks < dsm, drm, "max directory entry");
    memclr(header, sizeof header);
    sprintf(header, "<CPM_Disk>");
    header[16] = 1;    /* version identifier by agl */
            /* yaze-1.10 have version 0 */
            /* yaze-ag-2.00 uses version 1 and uses PSH and PHM */
    PutWORD(header+32, spt);
    header[34] = popcount(bsize-1)-7;    /* bsh */
    header[35] = (bsize/128-1);        /* blm */
    header[36] = dsm < 256 ? bsize/1024-1 : bsize/2048-1; /* exm */
    PutWORD(header+37, dsm);
    PutWORD(header+39, drm);
    al01 = ~((1<<(16-dblocks))-1);
    header[41] = al01>>8;
    header[42] = al01;
    PutWORD(header+45, offs);
    
    header[47] = psh;    /* PSH, version 1 */

Na, Appetit bekommen? Dann zieh Dir das Zeug auf die Platte: yaze-ag-2.12.1.tar.gz Viel Spaß damit!

Gruß, Wolfram

P.S.: Weil ich YAZE auf dem PC nutze, um Sachen zu testen, zu der ich keine besondere Peripherie brauche, ist das Format für mich natürlich die erste Wahl. Mußt Du auch einfach mal ausprobieren

Dieser Post wurde am 21.07.2007 um 22:32 Uhr von proof80 editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
020
22.07.2007, 14:30 Uhr
FanDjango



Jo! Jetzt habe ich's begriffen: Der Missing Link für mich war cdm.exe, welches ich schlicht übersehen hatte.

Also Beschluss gefasst: Ich werde das Format nutzen und auch von den YAZE Dateien booten können wollen.

Unter

Bild1 (2.9MB)
und
Bild2 (2.9MB)

sieht man die unbestückte und dann die fertig bestückte Platine (Oh, ein MAX232 fehlt noch - Lieferung erst Montag). Sorry wenn groß und auch unscharf, aber ich bin so richtig "in Eile".

Nächstes WE wird der erste Probebetrieb Stück für Stück eingeleitet.
--
Ich löte noch....

Dieser Post wurde am 22.07.2007 um 14:33 Uhr von FanDjango editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
021
22.07.2007, 14:41 Uhr
proof80



Feines Teil. Bin gespannt, was Du vom Stapellauf zu berichten hast. Viel Erfolg!

Gruß, Wolfram
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
022
22.07.2007, 15:02 Uhr
hschuetz

Avatar von hschuetz

Hallo,
kann ich nur bestätigen.... Bin mal gespannt ob alles klappt.....
Bin schon gespannt darauf die SBC zu bauen...(kribbel).
GRuß
Hans- Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
023
22.07.2007, 21:40 Uhr
FanDjango



Irgendwie kann man es ja nicht lassen, also soweit bin ich schon:

Der ATMEGA meldet sich schon:

Z80 Ultimate SBC - ATmega32 Interface V1.1
CID=02544D5344303147769752A42C006449
CSD=002D00321B5983D676DBFF8016400045
Init Complete with MMC

Das kommt bereits von der neuen Platine. Bestückt sind 16MHz Oszi, Max232 (geklaut von anderer Platine), ATMEGA32 und SD Karte 1GB sowie ein Paar Widerstände und Dioden.

Trotz aller Neugier auf die Z80 werde ich mal die 1GB SD Karte als nächstes frisch formatiert mit 16 Stück YAZE 32MB CP/M Harddisks füllen und mal sehen ob der ATMEGA erst mal diese 16 Dateien in FAT Format sieht und öffnen kann. Wenn ja: We are in business!
--
Ich löte noch....
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
024
25.07.2007, 21:21 Uhr
FanDjango



Erst Ergebnisse mit SD Karten, FAT16, die Dateien enthalten mit der Kennung "<CPM_Disk>" am Anfang sind positiv. Der kleine ATMEL auf der Platine findet sie alle und könnte sie also bereitstellen für den Z-80.

Aber: Das utility CDM.EXE ist leieder so wie es jetzt aussieht etwas schwach auf der Brust.

Man kann zwar offensichtlich mit *.* "alle" Dateien von einer CP/M Disk WEG-Kopieren, aber nur auf einen unix-Pfad. Ok, kleiner Umweg.

Aber ich habe noch keinen Befehl gefunden um dann mehr als EINE Datei herbeizuholen in ein CP/M Laufwerk, also es geht nicht mit Wildcards.

Will ich wirklich alle CPM-YAZE Format Disks von Hand beschicken?

Habe ich was übersehen?

Habe schon wieder angefangen, darüber nachzudenken, sowas wie CDM.EXE nochmal zu schreiben oder zu erweitern.

Übrigens, da unten im Code, das

D0>cp *.* u:t

schreibt alles in den relativen unix Pfad t. Dort mit einer 2ten Konsole mit ls -l sieht man auch VIELE VIELE brav kopiert Dateien. Also, rauszus geht's.

Nur reinzus habe ich massive probleme mit wildcards.

C0>cp u:t/ccp.com (geht)

Folgendes geht also nicht:

C0>cp u:t/*.com
ambiguous: u:t/*.com
C0>

und im Source Code von CDM.EXE sehe ich den Kommentar:

/* TODO: be more permissive about ambiguous names */

Oh je....



Quellcode:
CP/M Disk Manager 1.11, Copyright 1995 Frank D. Cringle.
Portions copyright (C) Jan 2004 Carl Mascott.
Modified by Andreas Gerlich Jan 2004 to create files for CP/M 3.1 (yaze-ag).
cdm comes with ABSOLUTELY NO WARRANTY; for details
see the file "COPYING" in the distribution directory.

$>mount c CPM1.DSK
CPM1.DSK mounted as disk C with 32768 of 33554432 bytes allocated
C0>mount d CPM3_SYSdsk
CPM3_SYSdsk mounted as disk D with 546816 of 1048576 bytes allocated
D0>dir
0:0-README.1ST    0:GENCPM.COM      0:PIP.COM         0:ZEXDOC.COM
0:SCB.ASM         0:GET.COM         0:PUT.COM         0:ZSID.COM
0:MOUNT.BAK       0:HELP.COM        0:RENAME.COM      0:HEXCOM.CPM
0:CCP.COM         0:HEXCOM.COM      0:RMAC.COM        0:CRCKLIST.CRC
0:CMP.COM         0:I.COM           0:S.COM           0:HELP.HLP
0:COPYSYS.COM     0:II.COM          0:SAVE.COM        0:CPM3.LIB
0:CRC.COM         0:INITDIR.COM     0:SENDUUE.COM     0:MODEBAUD.LIB
0:DATE.COM        0:L80.COM         0:SET.COM         0:Z80.LIB
0:DED.COM         0:LC.COM          0:SETDEF.COM      0:BDOS3.SPR
0:DEVICE.COM      0:LIB.COM         0:SHOW.COM        0:BNKBDOS3.SPR
0:DIFF.COM        0:LINK.COM        0:SID.COM         0:RESBDOS3.SPR
0:DIR.COM         0:MAC.COM         0:SUB.COM         0:PROFILE.SUB
0:DUMP.COM        0:MERA.COM        0:SUBMIT.COM      0:TEST.SUB
0:E.COM           0:MMUPRINT.COM    0:SYS.COM         0:HIST.UTL
0:ED.COM          0:MOUNT.COM       0:TYPE.COM        0:TRACE.UTL
0:ERASE.COM       0:PATCH.COM       0:XREF.COM        0:MOUNT.Z80
0:GENCOM.COM      0:PAUSE.COM       0:ZEXALL.COM      0:SYS.Z80
534K of 1024K in use
D0>help cp
cp <ufn1> <ufn2>     copy CP/M files <ufn1> to <ufn2>
cp u:<path> <ufn>    copy unix <path> to CP/M binary file <ufn>
cp t:<path> <ufn>    copy unix <path> to CP/M text file <ufn>
cp <ufn> u:<path>    copy binary CP/M file <ufn> to unix <path>
cp <ufn> t:<path>    copy text CP/M file <ufn> to unix <path>
cp <afn> u:<dir>     copy binary CP/M file(s) <afn> to unix <dir>
cp <afn> t:<dir>     copy text CP/M file(s) <afn> to unix <dir>
D0>cp *.* u:t
D0>c:
C0>cp u:t/*.*
ambiguous: u:t/*.*
C0>cp u/t
command not recognized: cp
C0>cp u:t
ambiguous: u:t
C0>ls
  32K of 32768K in use
C0>cp u:t/ccp.com
C0>ls
0:T/CCP.COM
  36K of 32768K in use
C0>
command not recognized:
C0>cp u:t/ *.*
ambiguous: u:t/
C0>


--
Ich löte noch....

Dieser Post wurde am 25.07.2007 um 21:59 Uhr von FanDjango editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
Seiten: -1- [ 2 ] [ 3 ] [ 4 ] ... [ Letzte Seite ]     [ Hardwareprojekte ]  



gaby.de

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek