Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » CPMTOOLS unter Linux ... » Themenansicht

Autor Thread - Seiten: -1-
000
17.04.2016, 02:20 Uhr
w3llschmidt

Avatar von w3llschmidt

Sind absoluter Mist!

http://www.moria.de/~michael/cpmtools/

Die zerschiessen ständig die Disketten

Nein, ich stell mich warsch. nicht zu blöd an, manchmal gehts. Z.b. das kopieren
von Files auf die Disketten. Beim nächsten Versuch, bumm ... NO FILES

Ich hätte das gut gebrauchen können, weil mein C IDE unter Linux läuft.

Finger weg!

.
--
---------------------------------------------------------------------------
http://twitter.com/w3llschmidt | P8000 | PDP11/73 | PC1715 | MircoVAX III
---------------------------------------------------------------------------
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
17.04.2016, 08:12 Uhr
holm

Avatar von holm

Blödsinn, benutze ich seit Jahren. Man muß halt wissen was man tut, allerdings habe ich das auch nicht auf Linux sondern FreeBSD laufen.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
17.04.2016, 17:25 Uhr
w3llschmidt

Avatar von w3llschmidt

Ja Holm, vielleicht bin ich zu blöd ...

Was würdet Du sagen, mache ich hier falsch?









Ergebninss, die Endung (COM) von A ist verschwunden, das File selber NULL, HELLO.C ist sonstwo gelandet.

Der PC1715 sagt: B [NO FILES]

.
--
---------------------------------------------------------------------------
http://twitter.com/w3llschmidt | P8000 | PDP11/73 | PC1715 | MircoVAX III
---------------------------------------------------------------------------

Dieser Beitrag wurde am 17.04.2016 um 18:58 Uhr von w3llschmidt editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
17.04.2016, 18:37 Uhr
holm

Avatar von holm

Bekomme erst mal raus ob Du wirklich 192 oder 128 Directory Entries brauchst.

Hier ein Stück script mit dessen Hilfe ich das 8K TDL Basic auf den LC80ex portiert habe

Quellcode:

rm -f ctcsio.bin
rm -f 3000.rom
rm -f 3000h.rom
rm -f 4000h.rom
mv basic.bin basic.bin.old
mv LC802m.bin LC802m.bin.old
rm -f lbasi30.com
cpmcp -f scp800  ../disks/driveg.cpm 0:lbasi30.com lbasi30.com
cpmcp -f scp800 -t ../disks/driveg.cpm 0:lc808kb.prn lc808kb.prn
cpmcp -f scp800 -t ../disks/driveg.cpm 0:lc808kb.mac lc808kb.mac
cpmcp -f scp800 -t ../disks/driveg.cpm 0:ctcsio.prn ctcsio.prn
cpmcp -f scp800 -t ../disks/driveg.cpm 0:ctcsio.mac ctcsio.mac
head -c 633 lbasi30.com >ctcsio.bin
tail -c +799 lbasi30.com >3000.rom      # +2 +4 +40
dd if=3000.rom of=3000h.bin iseek=8 count=8
dd if=3000.rom of=4000h.bin count=8
cat LC802.BIN ctcsio.bin >LC802m.bin
cat 3000h.bin 4000h.bin >basic.bin
cat csums
cksum LC802m.bin >csums
cksum basic.bin >>csums
cat csums



..wie Du siehst nehme ich scp800 für die virtuellen 800k disks des cpmsim und die sind vom Format her identisch zu CP/A Disketten.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
17.04.2016, 19:33 Uhr
w3llschmidt

Avatar von w3llschmidt

Also mit echten Disketten scheint es nicht zu funktionieren.

MAXDIR auf 128, frische (FORMATPX;0) Diskette.






--
---------------------------------------------------------------------------
http://twitter.com/w3llschmidt | P8000 | PDP11/73 | PC1715 | MircoVAX III
---------------------------------------------------------------------------

Dieser Beitrag wurde am 17.04.2016 um 19:34 Uhr von w3llschmidt editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
17.04.2016, 20:00 Uhr
w3llschmidt

Avatar von w3llschmidt

Achso: unter DOS (22DISK) funktioniert das alles 1A! Formatieren, kopieren, löschen, eine Datei, viele Datein, Pattern ... 1A.

Aber das 'um'booten nervt natürlich.

.
--
---------------------------------------------------------------------------
http://twitter.com/w3llschmidt | P8000 | PDP11/73 | PC1715 | MircoVAX III
---------------------------------------------------------------------------
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
17.04.2016, 20:19 Uhr
holm

Avatar von holm

Das funktioniert auch unter Unixen. Ich arbeite mit virtuellen Disketten im Emulator, aber ich kann diese Disk Images 1:1 auf eine richtig formatierte (5x1024) 5,25 Zoll Diskette schreiben mit DD und die ist danach lesbar.

Du mußt natürlich dafür sorgen das die logische Struktur auf der Diskette auch angelegt ist (man mkfs.cpm) ehe Du auf den Datenträger überhaupt was drauf kopierst:

Quellcode:


NAME
       mkfs.cpm - make a CP/M file system

SYNOPSIS
       mkfs.cpm [-f format] [-b boot] [-L label] [-t] image

DESCRIPTION
       mkfs.cpm makes a CP/M file system on an image file or device.

OPTIONS
       -f format
              Use the given CP/M disk format instead of the default format.

       -b bootblock
              Write  the  contents  of the file bootblock to the system tracks
              instead of filling them with 0xe5.  This option can be  used  up
              to  four  times.   The file contents (typically boot block, CCP,
              BDOS and BIOS) are written to sequential sectors,  padding  with
              0xe5 if needed.

       -L label
              Label the file system.  This is only supported by CP/M Plus.

       -t     Create time stamps.

RETURN VALUE
       Upon successful completion, exit code 0 is returned.

ERRORS
       Any errors are indicated by exit code 1.

ENVIRONMENT
       CPMTOOLSFMT     Default format

FILES
       /usr/local/share/cpmtools2/diskdefs     CP/M disk format definitions





Was ist FORMATPX?
Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 17.04.2016 um 20:20 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
17.04.2016, 20:20 Uhr
w3llschmidt

Avatar von w3llschmidt

Hi Holm,

schon klar, aber die Disketten ist doch unter CPA aufm 1715 frisch formatiert ?!

FORMATPX, hab ich auf einer CPA-Diskette gefunden, gehört warsch. zum Orginallieferumfang, zumindest beschreiben sie das auch in der Doku.



.
--
---------------------------------------------------------------------------
http://twitter.com/w3llschmidt | P8000 | PDP11/73 | PC1715 | MircoVAX III
---------------------------------------------------------------------------

Dieser Beitrag wurde am 17.04.2016 um 20:29 Uhr von w3llschmidt editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
17.04.2016, 20:43 Uhr
holm

Avatar von holm

Hmm, das 'x' hat da Einer ran gehangen. CP/A Format heißt auf den Bürocomputer format und auf dem PC1715 formatp. Interessant ist da übrigens noch, dass das format programm das Argument 'cpa' akzeptiert, dann taucht der zusätzliche, in Deinem Bild fehlende Menüpunkt 1 auf.

Mache Dir mal eine Datei mit 800k (dd) setze das mkfs.cpm darauf an und schaue Dir die Directoystruktur mit hd auf der Datei an. Vergleiche das damit was Dir Power unter CP/M anzeigt und schaue was different ist.
Ich bin mir selbst nicht sicher mit den 128 vs. 192 Directoryeinträgen, weiß aber das die cpmtools bei mir funktionieren.


Quellcode:


$ cpmsim
#######  #####    ###            #####    ###   #     #
     #  #     #  #   #          #     #    #    ##   ##
    #   #     # #     #         #          #    # # # #
   #     #####  #     #  #####   #####     #    #  #  #
  #     #     # #     #               #    #    #     #
#      #     #  #   #          #     #    #    #     #
#######  #####    ###            #####    ###   #     #

Release 1.7, Copyright (C) 1987-92 by Udo Munk

warning: "ve" terminal capability not found
warning: "vi" terminal capability not found
Using simple BC5120 terminal emulation.
64K CP/M Vers. 2.2
A>f:
F>dir
F: BIOS     ERL : CCP      ERL : @OS      COM : BIOSCDRV MAC
F: BIOSCH54 MAC : BIOSCHD  MAC : BIOSCHDC MAC : BIOSCHK  MAC
F: BIOSCLD1 MAC : BIOSCLD2 MAC : BIOSCLD3 MAC : BIOSCP54 MAC
F: BIOSCP56 MAC : BIOSCPB  MAC : BIOSCPIO MAC : BIOSCRT  MAC
F: BIOSCRTC MAC : BIOSCSIB MAC : BIOSCSIO MAC : BIOSDPB  MAC
F: BIOSDPBM MAC : BIOSDSK  MAC : BIOSDSKB MAC : BIOSDSKC MAC
F: BIOSDSKP MAC : BIOSDSKT MAC : BIOSDSKW MAC : BIOSKBD  MAC
F: BIOSKBDC MAC : BIOSMEM  MAC : BIOSMON  MAC : BIOSNUC  MAC
F: BIOSORIG MAC : BIOSRAF  MAC : BIOSRAFC MAC : BIOSRAFI MAC
F: BIOSREM  MAC : BIOSREMC MAC : BIOSRMK  MAC : BIOSRMKC MAC
F: BIOSRNA  MAC : BIOSRNAC MAC : BIOSRNAI MAC : BIOSROS  MAC
F: BIOSROSC MAC : BIOSTIM  MAC : BIOSTIMC MAC : CPAKEY   MAC
F: BDOS     ERL : @SYSMA56 HEX : ZRE      BIN : 10       COM
F: Q154     COM : CPABAS   ERL : CPABAS   MAC : BDOSCPA  HEX
F: CPABAS   ORI : BDOSCPA  ASM : BIOS     MAC : M80      COM
F: LINKMT   COM : LOADER   COM : 083      COM : OOS      COM
F: CCPCPA   MAC : BDOSCPA  ERL
F>stat
A: R/W, Space: 14k
F: R/W, Space: 90k


F>a:power


        POWER 3.03 on m-Sh 2.22 1/2

  Copyright (c) 1981, 1982 by PAVEL BREDER
        All rights reserved. 01/03/83

F0=disk
disk capacity:    800K
tracks:           160    0 system
sectors/track:     40   40 last
sectors/system:     0   48 dir
dir entries:      192    6K
sectors/group:     16    2K 18FH groups
kbytes/extent:     16K
F0=exit
F>bye
HALT Op-Code reached at 0100
$



Du kannst ja auch mit dd eine PC1715 Disk physikalisch als Datenhaufen einlesen und dann diese Datei den cpmtools vorsetzen und experimentieren bis Du die richtigen Parameter hast. Unter Unix sind alles Dateien, demzufolge arbeitet cpmcp etc. auch auf Dateien nicht nur auf Geräten.
Wenn Du Dir eine Kopie aufhebst mußt Du nicht so oft lesen :-)

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 17.04.2016 um 20:44 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
17.04.2016, 21:21 Uhr
w3llschmidt

Avatar von w3llschmidt

Allet klar, teste ich aus ...

Thx!

.
--
---------------------------------------------------------------------------
http://twitter.com/w3llschmidt | P8000 | PDP11/73 | PC1715 | MircoVAX III
---------------------------------------------------------------------------
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
21.04.2016, 21:27 Uhr
holm

Avatar von holm

Hast Du schonmal Software aus Sourcen gebaut? Bietet Dir der Linux-Installer an das Paket ohne Libdisk Support zu bauen?

Ich habe mich mal damit beschäftigt, der Libdisk Support ist dazu da, direkt Teledisk Images bearbeiten zu können, leiter ist der buggy wie es aussieht. Sobald der Libdisk Support vorhanden ist und man auf rohe CPM Disks zugreift, zerschießt es die Diskette (das file).

Baue das PÜaket ohne Libdisk Support und nimm das Format z9001.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
21.04.2016, 22:15 Uhr
w3llschmidt

Avatar von w3llschmidt

Hi Holm,

super Tip! Ich komme leider erst wieder am WE in meine Bude.

Teste ich dann sofort.

Aber wie geschrieben, mit schwur, die CPMTOOLS in Ubuntu zerschiessen die Disketten!

Warum mit z9001 compilieren? Ich dachte CPMTOOLS liest die /etc/diskdef?

.
--
---------------------------------------------------------------------------
http://twitter.com/w3llschmidt | P8000 | PDP11/73 | PC1715 | MircoVAX III
---------------------------------------------------------------------------
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
21.04.2016, 23:07 Uhr
holm

Avatar von holm

Du sollst als Format z9001 angeben, das ist in diskdef als 5x1024x2x80 mit 192 Direktory Entries definiert.

(cpmcp -f z9001 /bla/fasel/blub/diskimage lolo.dat 0:lolo.dat)

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

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