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 ]

CP/M-Forum » CPU-und Computer-Emulatoren » Suche guten Z80-Emulator und andere Fragen » Threadansicht

Autor Thread - Seiten: -1-
000
30.07.2008, 23:58 Uhr
Slamy



Hallo Leute,

Ich habe nicht viel Erfahrung mit Foren, wollte es jedoch einfach mal ausprobieren.
Momentan benutze ich für eine Z80 Emulation YAZE unter Linux.
Leider entspricht dieser Emulator nicht ganz meinen Vorstellungen.
- Keine Interrupts
- Keine damit verbundene Timer
- Diskettenemulation nicht gerade flexiblel

Unter Windows habe ich den "Z80 Emulator von Joe Moore" genutzt, welcher deutlich umfangreicher ist. Leider gibt es mit WINE gewisse Schwierigkeiten.
Vielleicht kennt jemand von euch einen guten Emulator.

Er sollte möglichst flexibel und portabel sein.
MMU(Bank Switching) und Timerinterrupts wären auch wichtig.

Dann eine weitere Frage.
Normalerweise programmiere ich hauptsächlich in C++ und Java, mache aber auch manchmal Schwenker nach Z80 Assembler.
Es macht einfach Spaß dieses geniale Stück Technik zu programmieren und zu verstehen, wie ein Rechner intern arbeitet.

Würdet ihr es als Fehler bezeichnen, heute noch viel mit dieser alten Sprache zu machen ?
Insbesondere für größere Projekte ?
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
001
05.08.2008, 22:12 Uhr
Slamy



Schade, dass sich bisher keiner gemeldet hat....
Aber das Thema hat sich relativ erledigt.
Ich arbeite momentan an einem eigenen Z80-Emulator.
Hier die Features, die er bereits beherrscht:

- MMU
- Massenspeicheremulation (Diskimage und echte Partition)
- Hardware-Timer mit Interrupt (maskable)
- Momentan unflexibler Grafikchip über SDL (640x480 Schwarz/Weiß)
- Masterterminal über das Startterminal
- Terminals über TCP/IP
- DMA
- Indirekter RAM Zugriff (Wie beim VDR des C128)
- Debuggingfunktionen

Mein Ziel ist es, einen möglichst flexiblen Emulator zu entwickeln.
Bitte gibt mir Anregungen.
Programmiert wurde er für Linux in C++, wobei eine Portierung für Windoof denkbar wäre.
Wer das Programm testen möchte, soll sich bei mir melden.

Dieser Post wurde am 05.08.2008 um 22:14 Uhr von Slamy editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
002
06.08.2008, 20:19 Uhr
proof80



Hallo Slamy, willkommen im Forum!

Zitat:
Slamy postete
MMU(Bank Switching) und Timerinterrupts wären auch wichtig.

Wofür willst Du das gute Stück denn einsetzen?


Zitat:
... mache aber auch manchmal Schwenker nach Z80 Assembler.
Es macht einfach Spaß dieses geniale Stück Technik zu programmieren und zu verstehen, wie ein Rechner intern arbeitet.

Mit der Einstellung triffst Du hier im Forum bestimmt Gleichgesinnte (wie mich ...)!


Zitat:
Würdet ihr es als Fehler bezeichnen, heute noch viel mit dieser alten Sprache zu machen ?
Insbesondere für größere Projekte ?

Was sind für Dich denn größere Projekte?
Aus dem Rennen sind die Zilog-CPUs ja noch lange nicht - es kommt halt auf die Anwendung an. Ausserdem gibt es neuere Modelle aus der gleichen Schmiede, die zur guten, alten Z80 abwärtskompatibel zu sein scheinen

Gruß, Wolfram

Dieser Post wurde am 06.08.2008 um 20:20 Uhr von proof80 editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
003
08.08.2008, 12:33 Uhr
Slamy




Zitat:
Wofür willst Du das gute Stück denn einsetzen?

Ich interessiere mich sehr für Kernelprogrammierung.
Ich weiß, es klingt verrückt, aber daran ist der Enthusiasmus schuld.


Zitat:
Was sind für Dich denn größere Projekte?

Die Implementierung eines eigenen kleinen Kernels für ein eigenes System.

Falls Interesse für den Emulator bestehen sollte:
Das Problem momentan ist noch, dass viele Funktionen des Programms nicht getestet wurden, weshalb er vielleicht noch voller Bugs stecken könnte.
Außerdem sind keine Funktionalitäten (z.B Zugriff auf die virtuelle Hardware) dokumentiert. Das, und die Portierung auf Windoof, werden erstmal die nächsten Schritte sein.

Ansonsten schreibt mich einfach an.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
004
08.08.2008, 13:55 Uhr
Slamy



Ich bin es nochmal.
Bevor ich den Emulator veröffentlichen kann, muss leider noch ein Rechtsproblem geklärt werden, da Ich für das Parsen der Opcodes eine fremde Bibliothek verwende.

Ich bin mir leider auch nicht mehr so ganz sicher, ob das richtig wäre, da die Software "geklaut" werden könnte.

Kennt sich jemand von euch mit sowas aus ?
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
005
13.08.2008, 17:55 Uhr
timetube

Avatar von timetube


Zitat:
Slamy postete
Ich bin es nochmal.
Bevor ich den Emulator veröffentlichen kann, muss leider noch ein Rechtsproblem geklärt werden, da Ich für das Parsen der Opcodes eine fremde Bibliothek verwende.

Ich bin mir leider auch nicht mehr so ganz sicher, ob das richtig wäre, da die Software "geklaut" werden könnte.

Kennt sich jemand von euch mit sowas aus ?

Ja ich!

Wenn man gleichzeitig den Drang verspürt der Welt daran Teilhaben zu lassen was mann kann und einem gleichzeitig die Angst lähmt jemand könnte eswas damit tuzn was man selber nicht kann oder will, nämlich Kohle machen, dann sollte man sich fragen was mit einem los ist, warum man soviel Zeit ins Programmieren von Z80 Zeugs steckt.

Kunstsammler bauen sich für Ihre Eroberungen Hochsicherheits[rz]äunen in die Villa, wo sie ihre z.B. Bilder sicher vor der Welt verbergen können, nur erlesenen Menschen zutritt gewährend.

Ich selber spoole mein Zeugs imer in die Welt, ob sie es sehen will oder nicht.

mfg
j.

PS: ich habe mal ein CZ80 (cpp code mit intterupts und so) aus der Z80 Emulation vom Munk erstellt und auch mal hir und anderweitig gepostet. Wahrscheinlich habe dutzende von Millionäre damit erzeugt, die meine beim Munk gelaute Software nun verkaufen

Ne, Spass bei seine, trau dich.
j
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
006
13.08.2008, 22:51 Uhr
Slamy




Zitat:
timetube postete

Wenn man gleichzeitig den Drang verspürt der Welt daran Teilhaben zu lassen was mann kann und einem gleichzeitig die Angst lähmt jemand könnte eswas damit tuzn was man selber nicht kann oder will, nämlich Kohle machen, dann sollte man sich fragen was mit einem los ist, warum man soviel Zeit ins Programmieren von Z80 Zeugs steckt.

Kunstsammler bauen sich für Ihre Eroberungen Hochsicherheits[rz]äunen in die Villa, wo sie ihre z.B. Bilder sicher vor der Welt verbergen können, nur erlesenen Menschen zutritt gewährend.

Ich selber spoole mein Zeugs imer in die Welt, ob sie es sehen will oder nicht.

mfg
j.

PS: ich habe mal ein CZ80 (cpp code mit intterupts und so) aus der Z80 Emulation vom Munk erstellt und auch mal hir und anderweitig gepostet. Wahrscheinlich habe dutzende von Millionäre damit erzeugt, die meine beim Munk gelaute Software nun verkaufen

Ne, Spass bei seine, trau dich.
j

Anscheinend hast du keine Ahnung, wie man mit Menschen umgeht, auch wenn dies, deiner Meinung nach, ein Spaß sein sollte.
Mich haben diese Aussagen jedenfalls sehr verletzt.

Ich habe nun den Entwickler der Lib kontaktiert und er gestattet den Upload der Software.
Ich werde in den nächsten Tagen an einer verständlichen Doku arbeiten.
Freitag müsste sie spätestens fertig sein.

Ich melde mich hier dann nochmal und poste den Link......für die Linuxversion.
Der Windows-Port hat noch ein paar Zeichensatzmacken.

André
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
007
15.08.2008, 15:50 Uhr
Slamy



Soooo, da bin ich wieder.

Eine kleine Dokumentation über die virtuelle Hardware und über die Verwendung des Emulators wurde erstellt.

Ich habe zwar ein Testprogramm geschrieben, welches jedoch zu experimentell ist, um es beizulegen.
Deshalb bitte Ich euch - zunächst einmal - zum Assembler zu greifen und das Programm so zu testen.
Vielleicht finde ich ja auch noch einen, der mir ein CP/M portiert .

Lange Rede, kurzer Sinn:
Hier die Pakete.
Linux -> FlexibleZ80EmulatorLinux.tar.gz
Windows -> FlexibleZ80EmulatorWindows.zip

Denkt bitte daran, euch den Disclaimer durchzulesen !
Falls es zu Problemen kommen sollte, bitte Ich um sofortige Benachrichtigung.

Eine Website für den Emulator werde ich ebenfalls noch vorbereiten.

Dieser Post wurde am 15.08.2008 um 15:52 Uhr von Slamy editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
008
16.08.2008, 13:45 Uhr
nils.eilers

Avatar von nils.eilers


Zitat:
Slamy postete
Anscheinend hast du keine Ahnung, wie man mit Menschen umgeht, auch wenn dies, deiner Meinung nach, ein Spaß sein sollte.
Mich haben diese Aussagen jedenfalls sehr verletzt. >:(

Hallo André,

also das solltest Du Dir nun wirklich nicht zu Herzen nehmen, ich denke, das sollte eher ein aufmunterndes Anstoßen sein, als ein bösartiger Angriff. Ist doch im Grunde auch ganz einfach: entweder Du darfst nach geltendem Urheberrecht diese Bibliothek veröffentlichen, oder eben nicht. Wenn nicht, kannst Du Dir überlegen, ob Du Deine Arbeit wie Millionen anderer böser Raubkopierer unter Pseudonym anonym und illegal veröffentlichen möchtest - oder aber, Du besorgst Dir entsprechende Erlaubnis / Lizenz und veröffentlichst legal.

Letzteres ist ja offensichtlich jetzt geschehen und damit steht dem weiterem Spaß ja nun nichts mehr im Wege. Es liegt nun auch wirklich nicht an Dir, was andere Menschen mit der Software machen. Wäre ja auch noch schöner, wenn jemand die Verkäuferin bei Hertie verklagen könnte, weil sie ein Messer verkauft hat, mit dem später jemand anders einen Dritten verletzt hat.

Ein paar Sachen noch, die ich mir von einem Z80-Emulator wünsche:

- Betrieb wahlweise als 8080 / 8085 möglich, noch besser: Erkennung, welcher Befehlssatz verwendet wird: 8080 / 8085 / Z80 / Z80UNDOK
- Beim 8080 wäre zu beachten, daß der irgend ein Flag (Parity?) anders erzeugt, als der Z80
- Unterstützung eines META-Terminals: Beispiel: ich arbeite unter Linux mit einem VT100-kompatiblen Terminal. Meine CP/M-Software erwartet aber ein ADM-3A. Der Emulator soll die Steuersequenzen des CP/M-Terminals in die des Host-Computers umwandeln, d.h. in diesem Fall ADM-3A-Steuersequenzen in VT100 wandeln - damit würde eine ganze Menge CP/M-Software einfacher dargestellt weden können.
--
http://home.germany.net/nils.eilers/
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
009
17.08.2008, 11:24 Uhr
Slamy




Zitat:
nils.eilers postete
- Betrieb wahlweise als 8080 / 8085 möglich, noch besser: Erkennung, welcher Befehlssatz verwendet wird: 8080 / 8085 / Z80 / Z80UNDOK

Da die Kern-Emulation von einer Lib erledigt wird, könnte das etwas schwierig werden.
Toll wäre es natürlich, wenn ich ein Pendant für den Intel 8080 finden würde.
Ansonsten muss die Emulation selbst erledigt werden.


Zitat:
nils.eilers postete
- Beim 8080 wäre zu beachten, daß der irgend ein Flag (Parity?) anders erzeugt, als der Z80

Das muss erstmal genau recherchiert werden.
Ich habe mir mal das Datenblatt(http://www.datasheetarchive.com/pdf-datasheets/Datasheets-14/DSA-277030.pdf) dazu heruntergeladen.
Leider steht dort nichts über die Wirkung auf die Flags.
Vielleicht habe ich mich auch verlesen.



Zitat:
nils.eilers postete
- Unterstützung eines META-Terminals: Beispiel: ich arbeite unter Linux mit einem VT100-kompatiblen Terminal. Meine CP/M-Software erwartet aber ein ADM-3A. Der Emulator soll die Steuersequenzen des CP/M-Terminals in die des Host-Computers umwandeln, d.h. in diesem Fall ADM-3A-Steuersequenzen in VT100 wandeln - damit würde eine ganze Menge CP/M-Software einfacher dargestellt weden können.

Das ist eine gute Idee und wird sofort vermerkt.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
010
17.08.2008, 12:57 Uhr
nils.eilers

Avatar von nils.eilers


Zitat:
Slamy postete

Zitat:
nils.eilers postete
- Betrieb wahlweise als 8080 / 8085 möglich, noch besser: Erkennung, welcher Befehlssatz verwendet wird: 8080 / 8085 / Z80 / Z80UNDOK

Da die Kern-Emulation von einer Lib erledigt wird, könnte das etwas schwierig werden.
Toll wäre es natürlich, wenn ich ein Pendant für den Intel 8080 finden würde.
Ansonsten muss die Emulation selbst erledigt werden.


Man sollte
a) Erkennung des Befehlssatzes und
b) Behandlung des unterschiedlichen Befehlssatzes unterscheiden.

Die Erkennung ist relativ einfach, aber in der Praxis für mich sehr wertvoll, da ich noch ein 8080-System bauen möchte und gerne vorab wüsste, ob ich diese oder jene Software darauf laufen lassen kann - und nicht bei jedem Absturz rätseln möchte, woran das gelegen haben kann.

8080 und 8085 sind im Grunde gleich, nur daß der 8085 zwei zusätzliche Befehle für die serielle Line hat - der Z80 wird an dieser Stelle irgendwas anderes haben. Leider habe ich die entsprechenden Opcodes gerade nicht zur Hand :-(

8080 ist auf jeden Fall der kleinste gemeinsame Nenner, was eine Erkennung wie folgt möglich macht:

#define CPU8080 0
#define CPU8085 1
#define Z80 2
#define Z80UNDOK 3
/* usw Z180 etc. */

char Opcode_erst_ab_CPU_X [256] = { CPU8080, CPU8080, CPUZ80... usw. für alle 256 Opcodes von 0 bis 255 }

int Code_benutzt_CPU = CPU8080; /* immer mit dem kleinsten gemeinsamen Nenner initialisieren */

/*******/

aktueller_Opcode= /* hier wird der Opcode, den die CPU als nächstes ausführen soll, aus dem Speicher geholt */

if (Opcode_erst_ab_CPU [aktueller_Opcode] > Code_benutzt_CPU) {
Code_benutzt_CPU=Opcode_erst_ab_CPU [aktueller_Opcode];
}

/* jetzt kann der aktuelle Opcode ausgeführt werden */




Diese Erkennung ist nicht nur für 8080 / Z80 interessant, sondern auch für den Z180: der kennt nämlich die undokumentierten Befehle des Z80 nicht.

Für b) Behandlung des unterschiedlichen Befehlssatzes habe ich auf die schnelle eine Seite im Netz gefunden, wo es um die unterschiedliche Flag-Behandlung der unterschiedlichen CPUs geht: http://fixunix.com/cp-m/252349-z80-8080-tester-program.html

Da ich die Lib natürlich nicht kenne, die die OpCodes emuliert, kann ich Dir spontan nicht sagen, wie viel Arbeit es machen würde, die Flag-Behandlung je nach CPU-Typ zu handhaben. Vielleicht ist das ja irgendwo zentral erledigt, dann wäre das ja gar nicht so viel Aufwand.
--
http://home.germany.net/nils.eilers/
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
011
18.08.2008, 17:48 Uhr
Slamy



Das, was Du dir da vorstellst, würde leider sehr viel Arbeit machen .
Ich habe nochmal die Sourcen der Lib kontrolliert. Eine Modiauswahl existiert nicht.
Also, entweder etwas komplett eigenes schreiben, oder eine Ersatzlib.
Wenn du so etwas finden würdest und es dann auch noch die gleiche Schnittstelle zur Verfügung stellt, wäre die Änderung schnell bewerkstelligt.

Du musst wissen: Das Programm sollte eigentlich nur ein Z80 Emulator mit einiger Peripherie werden, auch wenn der Gedanke mit mehreren Prozessoren auch ganz schön wäre.

Aber zunächst einmal gibt es andere Ziele:
- Steurercodekonvertierungen (Von diversen auf VT100)
- Neben MMU einfacheres Bank Switching
- Konfiguration des I/O-Raums über Dateien statt hardcoded.
- Vielleicht mehrere Z80 gleichzeitig

Ich habe mich auch gerade nochmal auf der Seite von "Marat Fayzullin" umgesehen.
Neben der Z80-Kern-Emulation bietet er auch eine Lib für den MOS 6502 an.
Diese lässt sich durch das gleiche Interface SEHR einfach einbinden.
Aber das liegt ja bestimmt NICHT in eurem Interesse.....

Dieser Post wurde am 18.08.2008 um 17:51 Uhr von Slamy editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
012
21.08.2008, 13:28 Uhr
Slamy



So Leute, es ist mal wieder soweit.

Es gibt jetzt eine Namensänderung:
Ich taufe Ihn nun den "FlexibleSystemEmulator".
Neben dem Z80 wird nur auch der 6502 unterstützt.
Es war zwar mehr Arbeit, als erwartet.......
Zudem habe ich einige Sachen optimiert.
Mittlerweile werden die CPUs auch mit realer Geschwindigkeit simuliert, was sich auch positiv auf die Systemauslastung niederschlägt. Momentan sind es fixe 4 MHz.

Hier die Version 2 Alpha des Programms:
Linux: FlexibleSystemEmulatorLinux_V2_Alpha.tar.gz
Windows: FlexibleSystemEmulatorWindows_V2_Alpha.zip

Leider mussten diesmal einige Veränderungen am Code vorgenommen werden, wodurch sich noch einige Fehler eingeschlichen haben könnten.
Gibt mir dann unverzüglich bescheid.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
013
22.11.2008, 19:42 Uhr
Slamy



Sorry.
Die Entwicklung wurde nach dem letzten Beitrag so gut wie eingefroren.
Jedoch scheint es wirklich kein Interesse an dem Programm zu geben.

Was habe ich falsch gemacht ?
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
014
22.11.2008, 23:01 Uhr
nils.eilers

Avatar von nils.eilers

Z80-Emulatoren gibt's wie Sand am Meer. Mit dem YAZE bin ich im Grunde sehr zufrieden, vor allem, weil er sehr stabil ist, sehr gut getestet ist und auch Z180 kann.

Den einzigen Grund, den ich gesehen hätte, auf einen anderen zu wechseln, wäre der gewesen, einen zu haben, der meine o.g. Wunschliste erfüllt.

Das macht Deiner leider auch nicht.

Wenn Du offenbar nicht für Dich persönlich, sondern für die "community" programmieren möchtest, würde ich vor der ersten Zeile Code erst mal in Erfahrung bringen, was die gerne haben will - dann kannst Du Dir überlegen, ob Du's ihr besorgen möchtest.

Oder Du machst es für Dich - und bist dann auch nicht traurig, wenn sich niemand anders dafür interessiert.
--
http://home.germany.net/nils.eilers/
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
015
25.11.2008, 10:12 Uhr
timetube

Avatar von timetube


Zitat:
Wenn Du offenbar nicht für Dich persönlich, sondern für die "community" programmieren möchtest, würde ich vor der ersten Zeile Code erst mal in Erfahrung bringen, was die gerne haben will - dann kannst Du Dir überlegen, ob Du's ihr besorgen möchtest.

Oder Du machst es für Dich - und bist dann auch nicht traurig, wenn sich niemand anders dafür interessiert.

Hoh. Hoh, Nils, welch tiefschurfendes Gewört aus Deiner Feder.
Gefällt mir, wirklich!

Natürlich würde ich auch gerne was von dem veröffendlichen, was mich schon so befriedigte bei der Herstellung, um natürlich all die Anderen damit glücklich zu machen und mich für diese Leistung dann lieben oder doch wenigstens bewundern zu dürfen.

Aber ich habe mir schon als kleiner Bub gesagt, Du liebts doch die anderen auch nicht, wenn sie etwas können, was Du nicht kannst. Du beneidest sie doch er darum, strängst dich an sie noch dabei zu übertrumpfen oder hasst sie dafür. Warum sollte es diesen anderen dier gegenüber anders ergehen?

Dann dachte ich "aber Einstein und die Mondfahrt", die bewunderst Du sogar dafür, dass Du nichteinmal wirklich verstehst was die da tun oder sagen. Aus einer tiefen Gewissheit heraus, dass er uns als Menschen weiter brachte, das sie Mut machen ein so erbärmlicher Mensch zu sein.

Als ich mich gerade darauf einstellen wollt nun doch andere Menschen für ihre kleinen, unbedeutenden Taten zu lieben, oder doch wenigstens zu bewundern, da machte sich so ein Spitzbub an meine Lieblingsfreundin rann und siehe da, er konnte anscheinden wieder etwas, das ich nicht konnte.

Nun bin ich echt sauer gewesen und habe mir geschwohren jeden zu hassen, der etwas kann, was ich nicht zu können mir zutraue. Nun war entlich ein zivilisierter Kulturmensch aus mir geworden. Das Kind in mir war entgültig vrschütt gegangen bei diesem Initialisierungsritual.

Komisch, die letzten Worte machen mir nun aber doch Angst, was wenn der Wind das Grab wieder aufdeckt, was werde ich da wohl darinnen noch finden von mir?

Ach was, hubs, irgend etwas passiert mit mir, ich bekomme plötzlich sowas wie Flügel, mir ist so sonderbar, ich glaube ich werde jetzst doch lieber Weltbeherrscher.

int main()
{
puts("Hello my world.");
return hei - juergen;
}


mfg
und fohe Adventszeit Euch mit mir auch so kleinen Menscheleins.

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

Dieser Post wurde am 25.11.2008 um 10:20 Uhr von timetube editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
Seiten: -1-     [ CPU-und Computer-Emulatoren ]  



gaby.de

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