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 » Softwareprojekte » Cp/m on Line » Threadansicht

Autor Thread - Seiten: -1- [ 2 ] [ 3 ] [ 4 ]
000
21.06.2013, 21:01 Uhr
timetube

Avatar von timetube

Hallo,
dieses ist der Eröffnungspost zu unserem auf dem Retrotreffen in Claustahl-Zellerfeld vorgenommenen Projekt CP/m 2.2 auf einem Diskless Z80 Mikrocomputer, über eine RS232, an einen PC als DiskDrive und Terminal zu betreiben.

Mitglieder in diesem Projekt sind bisher der hschuetz, DO6SP und ich. Wer noch interesse hat ist herzlich willkommen.

Ich habe bereits vor einigen Jahren ein CBIOS für ein solches Remote-System umgeschrieben, welches ich als gemeinsame Basis bei http://sourceforge.net/ in unser eigenes Projekt „CP/M on Line“ einchecken möchte. Jeder der daran mit entwickeln möchte kann dann dort berechtigt werden.

Was meint Ihr, wollen wir so ein Repository bei sourceforge nutzen?

mfg
j.
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
001
22.06.2013, 01:42 Uhr
DO6SP



Hallo timetube,
ich finde die Idee mit sourceforge.net gut, habe selbst aber noch nie damit gearbeitet.
Auf zu neuen Ufern.

Schönes Wochenende
Patrick

Dieser Post wurde am 22.06.2013 um 01:52 Uhr von DO6SP editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
002
22.06.2013, 11:11 Uhr
hschuetz

Avatar von hschuetz

Hallo Jürgen,
ich kann mich da Patrick anschließen ...
Gruß
Hans- Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
003
22.06.2013, 12:36 Uhr
timetube

Avatar von timetube

Ja, dann mach ich das doch mal am WE.
Projektname CP/M on Line

und ich trage uns schon mal ein

HansWerner, Patrick und Juergen.

Ihr habt sicher gesehen, die supporten diverse Repository-Kozepte wie GIT, SVN.... aber auch ein Web-Interface. Ich selber verwende GIT unter Linux. Das Projekt verwendet auch ein Makefile das Linux verwendet.

Quellcode:
....
disks/drivea.cpm: cpm22.img
    head --bytes=$(SYSSIZE) cpm22.img > tmp.sys
    dd if=$@ of=tmp.dat bs=1 skip=$(SYSSIZE)
    cat tmp.sys tmp.dat > tmp.dsk
    mv $@ $@.bak  
    mv tmp.dsk $@
./src/boot.inc: bios.bin
    echo SECTS equ \(\( `sed -ne 's/BEGDAT[^=]\+[^0-9]\+\([0-9]\+\)/\1/p' $(OBJECTS_DIR)/bios.lst` - CPMSTART + 127 \) \/ 128 \) > $@


Ob es mit Cygwin auch geht, weiss ich leider nicht. Wir werden es erleben ansonsten VirtualBox ist unser Freund

OK, in diesem Sinne dan schöne WE Euch.
j.
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
004
22.06.2013, 13:25 Uhr
timetube

Avatar von timetube

Ha, ich kann euch nur eintragen, wenn ihr euch einen Account dort auf machtet.

Unser Projekt ist :https://sourceforge.net/projects/cpmonline/

aber ihr musst Mitglieder bei sourceforge sein, damit ich euch als admins/developer... dort eintragen kann.

j.

Schickt mir mal eure eingetragenen Namen ich trage euch dann ins Projekt ein und dann könnt ihr dort selber walten und schalten wie ihr wollt.

j.
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
005
22.06.2013, 18:30 Uhr
DO6SP



Hallo Jürgen,

git ist installiert (core&gui), und ich habe mich als do6sp bei sourceforge.net registriert.

Patrick
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
006
22.06.2013, 20:50 Uhr
timetube

Avatar von timetube


Zitat:
DO6SP postete
Hallo Jürgen,

git ist installiert (core&gui), und ich habe mich als do6sp bei sourceforge.net registriert.

Patrick

Hab Dich eingetragen.

Da gibt es Starthilfe: [url] https://sourceforge.net/apps/trac/sourceforge/wiki/Git [/url]

j.

PS: Die Unix.Hidden Datei sind übrigens Eclipse Projektfiles, falls Du auch Eclipse verwenden möchtest.

Ach ja, für Linux verwendete ich zasm als z80 assembler.

zasm - z80 assembler (c) 1994-2010 Günter Woigk.
version 3.0.21, 2011-05-29, for BSD / Mac OSX.
send bug reports to: kio@little-bat.de
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.

Dieser Post wurde am 22.06.2013 um 20:55 Uhr von timetube editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
007
23.06.2013, 12:06 Uhr
hschuetz

Avatar von hschuetz

Hallo Jürgen,
hast du mich auch eingetragen?
Hatte dir eine PM geschickt.
Gruß
Hans-Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
008
23.06.2013, 15:21 Uhr
timetube

Avatar von timetube

Gerade gemacht, PM werden nicht benachrichtigt und ich schaue sehr selten bei gaby danach in den letzten jahren.
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
009
23.06.2013, 16:11 Uhr
timetube

Avatar von timetube

Also wenn das Projekt in eclipse (oder mit make) gebaut wird, sollte die folgenden Ausgaben erscheinen.


Quellcode:
15:44:22 **** Build of configuration Debug for project libZ80 ****
make all
Building file: ../disas.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"disas.d" -MT"disas.d" -o "disas.o" "../disas.cpp"
Finished building: ../disas.cpp

Building file: ../sim1.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"sim1.d" -MT"sim1.d" -o "sim1.o" "../sim1.cpp"
Finished building: ../sim1.cpp

Building file: ../sim2.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"sim2.d" -MT"sim2.d" -o "sim2.o" "../sim2.cpp"
Finished building: ../sim2.cpp

Building file: ../sim3.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"sim3.d" -MT"sim3.d" -o "sim3.o" "../sim3.cpp"
Finished building: ../sim3.cpp

Building file: ../sim4.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"sim4.d" -MT"sim4.d" -o "sim4.o" "../sim4.cpp"
Finished building: ../sim4.cpp

Building file: ../sim5.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"sim5.d" -MT"sim5.d" -o "sim5.o" "../sim5.cpp"
Finished building: ../sim5.cpp

Building file: ../sim6.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"sim6.d" -MT"sim6.d" -o "sim6.o" "../sim6.cpp"
Finished building: ../sim6.cpp

Building file: ../sim7.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"sim7.d" -MT"sim7.d" -o "sim7.o" "../sim7.cpp"
Finished building: ../sim7.cpp

Building target: libZ80.a
Invoking: GCC Archiver
ar -r  "libZ80.a"  ./disas.o ./sim1.o ./sim2.o ./sim3.o ./sim4.o ./sim5.o ./sim6.o ./sim7.o  
ar: creating libZ80.a
Finished building target: libZ80.a


15:44:23 Build Finished (took 1s.226ms)

und für's CP/M und HostInterface


Quellcode:
15:44:23 **** Build of configuration Default for project cpm22 ****
make all
~/bin/zasm -vw2b -i "./src/bios.asm" -o "./obj/bios.bin" -l ./obj/bios.lst
  zasm: "./src/bios.asm", "./obj/bios.bin", "./obj/bios.lst"
  zasm: no errors.
echo SECTS equ \(\( `sed -ne 's/BEGDAT[^=]\+[^0-9]\+\([0-9]\+\)/\1/p' ./obj/bios.lst` - CPMSTART + 127 \) \/ 128 \) > src/boot.inc
~/bin/zasm -vw2b -i "./src/cpm22.asm" -o "./obj/cpm22.bin" -l ./obj/cpm22.lst
  zasm: "./src/cpm22.asm", "./obj/cpm22.bin", "./obj/cpm22.lst"
  zasm: no errors.
~/bin/zasm -vw2b -i "./src/boot.asm" -o "./obj/boot.bin" -l ./obj/boot.lst
  zasm: "./src/boot.asm", "./obj/boot.bin", "./obj/boot.lst"
  zasm: no errors.
cp ./obj/boot.bin cpm22.img
head --bytes=5632 ./obj/cpm22.bin >> cpm22.img
cat ./obj/bios.bin >> cpm22.img
echo cpm22.img done
cpm22.img done
head --bytes=6656     cpm22.img > tmp.sys
dd if=disks/drivea.cpm of=tmp.dat bs=1 skip=6656    
249600+0 records in
cat tmp.sys tmp.dat > tmp.dsk
249600+0 records out
249600 bytes (250 kB) copied, 0.354184 s, 705 kB/s
mv disks/drivea.cpm disks/drivea.cpm.bak  
mv tmp.dsk disks/drivea.cpm
g++ -c -pipe -g -Wall -I ../libZ80  -o "./obj/Z80CPM.o" "./src/Z80CPM.cpp"
g++  -o CPM22  ./obj/Z80CPM.o -L ../libZ80/Debug -lZ80 -lpthread

Danach sollte es ein Diskimage disks/drivea.cpm geben, welches das gerade gebaute CP/M 2.2 mit Bootloader und CBIOS auf den Systemspuren enthällt. Das System wird (noch) für ein 64k Emulator gebaut.

Nach dem Starten des ebenfalls mitgebauten Hostconsole und Diskemulator CPM22, sollte die folgende Ausgabe auf der Console erscheinen.


Quellcode:
Shared z80 CPU port 2007-2012 V 2.3 by JSievers@NADINE-Software.com / based on  Z80SIM V 1.8 Copyright (C) 1987-2006 by Udo Munk
CP/M 2.2 Emulation 2010 by J.Sievers <jsievers@NADINE-Software.com>
           (Uses the original CP/M 2.2 Sources)
RS CBIOS V1.0b

A>dir
dir
A: ED       COM : DUMP     COM : DDT      COM : PIP      COM
A: MOVCPM   COM : BYE      COM : LS       COM : CREF80   COM
A: DDTZ     COM : L80      COM : M80      COM : SID      COM
A: WM       COM : WM       HLP : ZSID     COM : MAC      COM
A: Z80      LIB : Z80      DOC : ZTRAN    COM : LIB80    COM
A: M        SUB : ZAP      COM : SYSGEN   COM : Z80ASM   COM
A: CLS      COM : HIST     UTL : TRACE    UTL : D        COM
A: STAT     COM : ASM      COM : XSUB     COM : LOAD     COM
A: SUBMIT   COM
A>
A>zap

                                 SuperZap 5.2

^H  Cursor left       N  Next directory page          D  Change Drive
^L  Cursor right      P  Previous directory page      S  Select track/Sector
^K  Cursor up         M  Set directory Mask           E  Edit file
^J  Cursor down       U  Change User number           T  Type file
TAB Next file            (current:  0)                Z  Exit from SuperZap





                       Directory List - A:????????.???

> ASM     .COM      > BYE     .COM      > CLS     .COM      > CREF80  .COM
> D       .COM      > DDT     .COM      > DDTZ    .COM      > DUMP    .COM
> ED      .COM      > HIST    .UTL      > L80     .COM      > LIB80   .COM
> LOAD    .COM      > LS      .COM      > M       .SUB      > M80     .COM
> MAC     .COM      > MOVCPM  .COM      > PIP     .COM      > SID     .COM
> STAT    .COM      > SUBMIT  .COM      > SYSGEN  .COM      > TRACE   .UTL
> WM      .COM      > WM      .HLP      > XSUB    .COM      > Z80     .DOC
> Z80     .LIB      > Z80ASM  .COM      > ZAP     .COM      > ZSID    .COM

Wie geht das?

Ganz einfach.

Der Z80 schickt immer 1 Commando-token und einen Parameter an den PC.
Der sendet den Kommandotoken und wenn nötig die angeforderten daten an den Z80.
Die Kommandos sind selbsterklärend, hoffe ich.

Was ist nun zu tun?

1. Der Simulator greift direkt die Port-IOs auf den RS232 Beustein ab und tut so, indem er die Buffer-Empty/Full Flags simuliert, als sei da eine RS232 Übertragung zwischen dem Z80-CPU-Thread und der Disk und Terminal emulation gelaufen.

2. Es gibt keinerlei Fehlerbehandlung, was bei einer echten fehlerbehaftete RS232 Communikation natürlich so nicht geht. Hier sollte die Hardware wenigstens Parity und Framing error auswerten und ein echtes mini-protocoll implementiert werden. Weningstens für die 128byte DiskSectorBlöcke. Achtung, der Bootloader hat nur 128Byte (liest ja aber nur) und das CBIOS sollten wir auch nicht unendlich aufblähen.

3. Die Defines für die Ports und die Masken für die Statusbits müssen angepasst werden an die Hardware.

4. Im CBIOS wie im Bootloader muss die Hardware auf eine feste Baudrate initialisiert werden.
Ich würde mich da hoch tasten 4800, 9600 .... 15k was noch erträglich geht. ))

Ich werde meine HARDWARE mit dem #define EZ80F91 einbinden. Das heißt, alle Hardwarespezifischen Sachen werden conditional nur dann aktive, wenn dieses Define gesetzt bist. Wenn ihr das für Eure Hardware auch so macht, können wir, wenn wir gut und kooperative zusammen arbeiten, hinterher EIN Projekt haben, das nur über diese defines für unsere verschiedenen Plattformen erstllbar bleibt.
Es ist dann für Andere ein Leichtes ihre Hardware da zu intergrieren.

So, nun ist Wochenende ) viel Spass beim Einarbeiten in meinen Codes und nicht verzweifeln, es ist nur ein Freizeit-Hack, der keinerlei Anspruch auf eine professionelle vorgehensweise erhebt und erfüllt.



cio
J.

PS: Habt ihr jabba oder twitter
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.

Dieser Post wurde am 23.06.2013 um 16:33 Uhr von timetube editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
010
23.06.2013, 21:30 Uhr
hschuetz

Avatar von hschuetz

Hallo Jürgen,
schon bin ich weit weg......
wie geht das mit twitter....
da kann ich dir so nicht folgen
Gruß
Hans-Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
011
24.06.2013, 12:10 Uhr
timetube

Avatar von timetube

Ach, Twitter, der Kurznachrichtendienst. Wird von mir viel genutzt und man kann sich und der Welt halt Kurze Mitteilungen zu zuzwitschern. Schau mal hier https://twitter.com/

Im Gegensatz zu Twitter ist dann Jabber mehr so eine Person zu Person Unterhaltungssache. Da ich beide Dienste fast immer laufen habe und viele Freund und Bekannte auch, bin ich quasi dauervernetzt mit ihnen. Aber es ist mehr im Hintergrund, man muss da nicht reagieren, erfährt dennoch alles und KANN reagieren. Muss jeder selber entscheiden, ob er das braucht. War nur so eine Frage ob jemand es nutzt.

notwendig@jabber.ccc.de wäre meine Adresse
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
012
24.06.2013, 13:20 Uhr
hschuetz

Avatar von hschuetz

Hallo Jürgen,
was finden die Leute eigentlich an twitter...Caos.
gehts nicht einfach per mail? oder über das gute alte Telefon??
also deine Ausführungen zuvor gehen mir etwas zu schnell...
Also muss das unbedingt alles unter Linux laufen?
Englisch ist ja ganz schön... einfacher wäre Deutsch!
Also bis jetzt verstehe ich nicht so recht was abgeht.
Gruß
Hans-Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
013
24.06.2013, 19:49 Uhr
DO6SP



Hallo Projekt-Team,

was Twitter und Jabber angeht, kann man sicher diskutieren.
Da bin ich auch eher für das gute alte Telefon (berufsbedingt) .
Oder besser noch ein persönliches Treffen, vielleicht in einem Cafe oder einem Restaurant.

Ob English oder Deutsch, da werden wir wohl kaum eine Wahl haben, weil so ziemlich das gesamte Internet auf English ist. Die Projekt-interne Kommunikation kann/sollte natürlich auf Deutsch stattfinden.

Was das Betriebssystem angeht, denke ich das Linux für Entwickler alternativlos ist (um mal unsere Kanzlerin zu zitieren). Eine Portierung zu Windows ist dann immer noch möglich. Andersherum sieht das schon deutlich schwieriger aus

@ Hans Werner: Mach Dir nichts draus, mir geht es nicht anders. Die C++ Compiler Ausgaben und Linux sind mir einigermaßen vertraut. Was allerdings, das eigentliche CP/M angeht, versteh ich im Moment nur Bahnhof (was zum Teufel bedeutet: RS CBIOS & SuperZap?).

Bisher kannte ich Sourceforge nur von der Software-Konsumenten-Seite her, das ist für mich auch noch alles neu. Das wird schon

Gruß
Patrick
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
014
24.06.2013, 20:08 Uhr
timetube

Avatar von timetube

Hi Team.

Ja, Mail und Telefon ist doch OK.
Ich bin ein wenig caotisch, bitte stört Euch nicht daran.

Es ist nichts presettet, wir wollen Spaß mit unserem Projekt haben und wären ja mit dem Klammerbeutel gepudert, wenn wir es uns nicht genau so herrichten, dass wir alle Spaß damit haben.

J.
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
015
24.06.2013, 20:36 Uhr
timetube

Avatar von timetube

Mal ne kleine Einführung in CP/M Control-Programm for Microcomputer.

CP/M Ist eigentlich ein Betriebssystem das Diskettenlaufwerke und einfach Terminal Devices unterstützt. Es setzt sich aus zwei Hauptkomponenten zusammen.

1. CBIOS ein Hardware abhängiges BIOS (Basic Input Output System), welches letztlich ein API darstellt, die vom
2. CP/M genutzt wird. Das CP/M selber ist Hardware unabhängig, was das eigentlich neue war.

Die API die das CBIOS exportieren muss ist denkbar einfach. Es ist eine fest vorgebene Sprungleiste unmittelbar am Start des CBIOS.

Für ein CP/M 2.2 CBIOS muss diese Sprungleiste folgende Funktionen in genau dieser Reihenfolge (Pro Eintrag drei Byte für ein JP XXXX Assembler-Befehl)

;
; jump vector for individual subroutines
;
JP BOOT ;cold start
WBOOTE:
JP WBOOT ;warm start
JP CONST ;console status
JP CONIN ;console character in
JP CONOUT ;console character out
JP LIST ;list character out
JP PUNCH ;punch character out
JP READER ;reader character out
JP HOME ;move head to home position
JP SELDSK ;select disk
JP SETTRK ;set track number
JP SETSEC ;set sector number
JP SETDMA ;set dma address
JP READ ;read disk
JP WRITE ;write disk
JP LISTST ;return list status
JP SECTRAN ;sector translate

Es sind wirklich einfachste Primitive, die „und nur die“ vom CP/M verwendet werden um komplexere Funktionen, wie ein Filesystem, zu realisieren und auf die Hardware abzubilden.

Dieses CBIOS lag gewöhnlich am oberen Ende des verfügbaren Speichers. Unmittelbar davor wurde dann das CP/M geladen, welches nur zu wissen braucht wo diese API im Speicher anfängt. Es gab System die ein solchen CBIOS fest eingebaut hatten. Solche System haben dann die CBIOS Funktion BOOT beim Reset aufgerufen und das CP/M geladen. Es gab aber auch Systeme die nur eine einfachste System-Software on Board hatten, welche nichts weiter konnte wie den ersten Sector (128Byte) vom ersten DiskDrive nach Adresse 0000h zu laden und was was auch immer dahin geladen wurde auszuführen.

Das ist genau das was wohl auch unsere Systeme können müssen, wenn wir kein komplettes CBIOS im ROM halten wollen.

Es gibt daher drei Programme, die ich auf das Repository ablegte.

Boot.asm der besagte Bootloader 128byte als ersten sector einer Systemdiskette.
Cmp22.asm das original CP/M 2.2
Bios.asm ein CBIOS, das bereits so vorbereitet ist, das es eine RS232 Leitung verwendet um Terminal und Diskzugriffe quasi virtualisiert über einen PC auszuführen.

Dazu sendet das CBIOS einen Kommando-Tooken an den PC. Abhängig von diesem Kommando werden dann weiter Daten ausgetauscht, wie z.B. der Inhalt eines Sectors einer als Image auf dem PC abgelegten Festplatte.

Diese Systemprogramme liegen auf den IBM 8“ Disketten immer auf den ersten beiden Traks einer Systemdisketten.

128 Byte BootSector
16K CP/M 2.2
XXK CBIOS

Das Makefile erzeugt nun genau diese beiden Systemspuren (die drei Programme) und kopiert sie an den passenden Startbereich der Systemdiskette unter ./disks/drivea.cpm

Juergen
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.

Dieser Post wurde am 24.06.2013 um 20:36 Uhr von timetube editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
016
25.06.2013, 11:17 Uhr
hschuetz

Avatar von hschuetz

Hallo Jürgen,
heute habe ich denn mal meine Linuxkiste wieder in Betrieb genommen.
Git funktioniert, eclipse anscheinend auch nur zasm nicht... Fehlermeldung

zasm: error while loading shared libraries: libstdc++-libc6.1-2.so.3: cannot open shared object file: No such file or directory

Ich habe hier ein Debian

Linux NKC2 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/Linux
Gruß
Hans-Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
017
25.06.2013, 15:02 Uhr
timetube

Avatar von timetube

gebe mal

ldd zasm ein

da sollte dann sowas erscheinen.

Quellcode:
[juergen@nadhhlt ~]$ ldd bin/zasm
    linux-vdso.so.1 =>  (0x00007fffd454c000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x000000366e800000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x000000366fc00000)
    libm.so.6 => /lib64/libm.so.6 (0x000000366e400000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x000000366f800000)
    libc.so.6 => /lib64/libc.so.6 (0x000000366e000000)
    /lib64/ld-linux-x86-64.so.2 (0x000000366d00000)
[juergen@nadhhlt ~]$

dann alle fehlenden (bei mir keine Libraries nachinstallieren.

Bei mir (FEDORA) ginge das so:

yum proviedes libstdc++.so.6 um zu sehen in welchem Paket das Teil vorhanden ist.


Quellcode:
[juergen@nadhhlt ~]$ yum provides provides libstdc++.so.6
Geladene Plugins: langpacks, presto, refresh-packagekit
libstdc++-4.7.2-8.fc18.i686 : GNU Standard C++ Library
Repo        : fedora
Übereinstimmung von:
Provides    : libstdc++.so.6

libstdc++-4.7.2-8.fc18.i686 : GNU Standard C++ Library
Repo        : installed
Übereinstimmung von:
Provides    : libstdc++.so.6

dann mit yum install eines der Pakete die das gesuchte File enthällt installieren

Quellcode:
[juergen@nadhhlt ~]$ sudo yum install libstdc++-4.7.2-8.fc18.i686
Geladene Plugins: langpacks, presto, refresh-packagekit
Paket libstdc++-4.7.2-8.fc18.i686 ist bereits in der neusten Version installiert.
Nichts zu tun
[juergen@nadhhlt ~]$

geht bei mir natürlich nicht da bereits vorhanden.

Bei Debian geht das irgendwie mit

Suchen: apt-cache search "name"
Installieren: apt-get install "name"


Dann sollte der Assembler gehen.

Gruß
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.

Dieser Post wurde am 25.06.2013 um 15:09 Uhr von timetube editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
018
25.06.2013, 22:48 Uhr
hschuetz

Avatar von hschuetz

Hallo Jürgen,
leider funktioniert es nicht.... wo gehört die lib denn dazu
shit...Linux ist doch nicht Linux??? oder
Gruß
Hans-Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
019
25.06.2013, 23:05 Uhr
timetube

Avatar von timetube

Also die libstdc++ ist die Standard Cpp Lib, die wird von allen Programmen gebunden, die in CPP geschrieben wurden. Der aktuelle Kernel ist

Quellcode:
[juergen@nadhhlt ~]$ uname -a
Linux nadhhlt 3.9.6-200.fc18.x86_64 #1 SMP Thu Jun 13 18:56:55 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[juergen@nadhhlt ~]$

also irgend was mit 3.9

Vielleicht solltest Du mal ein Update Deines Systems wagen )

Aber was klappt den nicht?

- ldd zams

- das finden eines Pakets wo die fehlenden Libs drinn vor kommen oder

- das installieren dieser Pakete

?
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
020
25.06.2013, 23:51 Uhr
hschuetz

Avatar von hschuetz

Hallo Jürgen,
scheint auf meinem System so nicht zu laufen... CPP ist installiert wenn ich versuche libstdc++ zu installieren gibt es massenhaft Fehlermeldungen...
root@NKC2:~/zasm/unix# ldd zasm
linux-gate.so.1 => (0xb77aa000)
libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xb776e000)
libstdc++-libc6.1-2.so.3 => not found
libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb760a000)
/lib/ld-linux.so.2 (0xb77ab000)
root@NKC2:~/zasm/unix#

also so schlimm ist das jetzt auch nicht... Z80 Assembler habe ich genügend.

Frage zum Projekt:
was muss denn auf dem Z80 system laufen? nur ein loader? oder ein Monitor?
Gruß
Hans-Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
021
26.06.2013, 10:17 Uhr
timetube

Avatar von timetube

schau mal da

http://k1.dyndns.org/Develop/projects/zasm/distributions/

und compiliere dier eine version von den sources selber. das ist in diesem fall wohl das beste.
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
022
26.06.2013, 19:17 Uhr
hschuetz

Avatar von hschuetz

Hallo Jürgen,
ist jetzt nicht so wichtig... Z80 Assembler ist bei mir kein Problem...
Jetzt mal so angedacht... wie sieht's auf der Z80 Seite aus... was muss da laufen....
Gruß
Hans-Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
023
27.06.2013, 16:52 Uhr
timetube

Avatar von timetube

Auf der Z80 Seite muss eine Software laufen die

a. die SIO initialisiert
b. einen Command Tooken CMD_BOOT an den PC sendet.
c. 128 Byte von der SIO (PC) ab Addr: 0000h ablegt
d. Adresse 0000 anspringt.

Das muss nach Reset oder mit Monito-Befehlen ausführbar sein

Die 128 Byte sind dann ein Boot-Loader (Sector 1 der SystemDiskette = Image auf dem PC), der das CP/M und CBIOS nach läd und startet.

Das CMD:BOOT fehlt noch in meiner Demo, die läd den Bootsector direkt in das RAM des Simulators.

Mit Deinem ASSEMMEBLE, hoffentlich unterstützt der das Format im bios.asm und cpm22.asm ))
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
024
27.06.2013, 21:20 Uhr
hschuetz

Avatar von hschuetz

Hallo Jürgen,
also theoretisch wäre also ein Monitor nicht nötig??

Also morgen werde ich mal sehen ob der M80 das schafft... sieht eigentlich
gut aus.
Gruß
Hans-Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
Seiten: -1- [ 2 ] [ 3 ] [ 4 ]     [ Softwareprojekte ]  



gaby.de

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