Forum: Projekte & Code Z180SoftSystem


von Uwe M. (hobbyprogrammer)



Lesenswert?

Hallo hier im Forum,

ich bin schon seit ca. 15Jahren immer wieder mal als Gast hier gewesen. 
Nun habe ich mich angemeldet, um euch mein Programm Z180SoftSystem 
vorzustellen.
Das Programm emuliert einen 8Bit-Microcomputer auf Basis einer Zilog 
Z180MPU.
Das emulierte System existiert real und wurde von mir im Jahre 2005 
designt und
Handverdrahtet aufgebaut. Es hatte damals die Möglichkeit 2 
Diskettenlaufwerke sowie eine PATA Festplatte zu benutzen. Ich habe nun 
mehr aus Spaß vor einigen Jahren angefangen dafür eine Emulation zu 
schreiben. Herausgekommen ist nun dieses Programm.
Derzeit werden 2 Diskettenlaufwerke unterstützt. Eine Festplatte und ein 
Uhrenchip sollen noch folgen.
Entwickelt habe ich das ganze mit Lazarus / Free Pascal, daher liegt 
auch der Haupt-Diskussionstread im Deutschen Lazarus Forum.

Die Disketten Images habe ich mit den Wild-Turkey CPM-Tools 
(https://www.cpm8680.com/cpmtools) erstellt.
1
diskdef SYS720
2
  seclen 512
3
  tracks 160
4
  sectrk 9
5
  blocksize 2048
6
  maxdir 256
7
  skew 0
8
  boottrk 2
9
  os 3
10
# DENSITY MFM ,HIGH 
11
# BSH 4 BLM 15 EXM 0 DSM 359 DRM 254 AL0 248 AL1 0 OFS 2
12
end
13
diskdef DATA720
14
  seclen 512
15
  tracks 160
16
  sectrk 9
17
  blocksize 2048
18
  maxdir 256
19
  skew 0
20
  boottrk 0
21
  os 3
22
# DENSITY MFM ,HIGH 
23
# BSH 4 BLM 15 EXM 0 DSM 359 DRM 254 AL0 248 AL1 0 OFS 0
24
end

Vielleicht hat ja jemand Verwendung dafür. Über konstruktive Kritik 
würde ich mich sehr freuen.
Wie schnell ich mit Änderungen/Ergänzungen vorankommen kann ich nicht 
sagen, da dies ein Hobbyprojekt ist und meine Zeitfenster dafür sehr 
begrenzt sind.

Grüße

Hobbyprogrammer

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Uwe M. schrieb:
> Das emulierte System existiert real und wurde von mir im Jahre 2005
> designt und
> Handverdrahtet aufgebaut.

Gibt es dazu Bilder? :)

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Schönes Projekt!
Da hier im Forum von einigen Nutzern ein reales Z180 System [1] 
aufgebaut und betrieben wird, wäre das dort unterstütze SIMHD-Format 
recht nützlich.

# SIMH AltairZ80 Harddisk
diskdef simhd
  seclen 128
  tracks 2048
  sectrk 32
  blocksize 4096
  maxdir 1024
  skew 0
  boottrk 6
  os p2dos
end

[1] Beitrag "Z180-Stamp Modul"

von Uwe M. (hobbyprogrammer)



Lesenswert?

> Gibt es dazu Bilder? :)

Gerne doch. Daran solls nicht liegen. :-)

> Schönes Projekt!

Danke.

> Da hier im Forum von einigen Nutzern ein reales Z180 System [1]
> aufgebaut und betrieben wird, wäre das dort unterstütze SIMHD-Format
> recht nützlich.

Das werde ich mir gerne ansehen. Hast Du mir genauere Informationen oder 
Dokus?. Evtl. auch einen Link wo ein Tool zu haben ist mit welchen 
dieses Image-Format erstellt werden kann.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Uwe M. schrieb:
> Evtl. auch einen Link wo ein Tool zu haben ist mit welchen
> dieses Image-Format erstellt werden kann.

Ich benutze immer den TotalCommander mit einem CP/M Plugin [1].
Eine zugegeben etwas alte Doku des Z180 Projektes findest du hier [2].
Ein aktuelles Handbuch dazu kann ich dir gerne per Mail zusenden.

[1] https://hc-ddr.hucki.net/wiki/doku.php/cpm/disketten_xp2
[2] 
https://www.mikrocontroller.net/svnbrowser/avr-cp-m/trunk/stamp/z180_stamp/

von Uwe M. (hobbyprogrammer)


Lesenswert?

Joe G. schrieb:
> Uwe M. schrieb:
>> Evtl. auch einen Link wo ein Tool zu haben ist mit welchen
>> dieses Image-Format erstellt werden kann.
>
> Ich benutze immer den TotalCommander mit einem CP/M Plugin [1].
> Eine zugegeben etwas alte Doku des Z180 Projektes findest du hier [2].
> Ein aktuelles Handbuch dazu kann ich dir gerne per Mail zusenden.
>
> [1] https://hc-ddr.hucki.net/wiki/doku.php/cpm/disketten_xp2
> [2]
> https://www.mikrocontroller.net/svnbrowser/avr-cp-m/trunk/stamp/z180_stamp/

Ich hab mir jetzt das Diskformat von Dir angesehen. Das kann ich mit den 
Wild Turkey Tools auch erstellen. Ich weis jetzt nicht ob Du Dir das 
Z180SoftSystem schon angesehen hast. Da gibt es für die 
Diskettenlaufwerke einen Einstellungsdialog in welchem die Imagedatei 
angegeben wird und auch für jedes Laufwerk die Diskgeometrie eingestellt 
werden kann.
So wird es bei der Festplattenanbindung auch sein. Auch dort wird es 
einen Dialog geben wo die Imagedatei und die Geometrie der emulierten 
Festplatte eingestellt werden kann. Die eigentliche Verarbeitung muß 
dann ja im CP/M-Bios entsprechend erfolgen. Somit denke ich das es kein 
Problem sein sollte das von Dir vorgeschlagene Imageformat mit dem 
Z180SoftSystem zu verwenden.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Uwe M. schrieb:
> Ich weis jetzt nicht ob Du Dir das
> Z180SoftSystem schon angesehen hast. Da gibt es für die
> Diskettenlaufwerke einen Einstellungsdialog in welchem die Imagedatei
> angegeben wird und auch für jedes Laufwerk die Diskgeometrie eingestellt
> werden kann.

Ja, ich habe mir deine Software mal angesehen. Der Eingabedialog für die 
Diskgeometrie ist jedoch sehr rudimentät. Ich wollte z.B.

diskdef avrcpm
  seclen 128
  tracks 77
  sectrk 26
  blocksize 1024
  maxdir 64
  skew 1
  boottrk 2
  os p2dos
end

einstellen, kann aber z.B. bei den sektoren nur 8,9,15 und 18 auswählen.

von HobbyProgrammer (Gast)


Lesenswert?

Joe G. schrieb:
> kann aber z.B. bei den sektoren nur 8,9,15 und 18 auswählen

Ok, verstehe. Das was bis jetzt implementiert ist wird als Standard 
Floppy-Diskformat behandelt. Angesprochen werden diese "Laufwerke" über 
einen emulierten Disketten-Controller welcher WD1770 kompatibel ist. 
Daher auch nur die begrenzte Auswahl.

Das zuvor beschriebene Format:
1
# SIMH AltairZ80 Harddisk
2
diskdef simhd
3
  seclen 128
4
  tracks 2048
5
  sectrk 32
6
  blocksize 4096
7
  maxdir 1024
8
  skew 0
9
  boottrk 6
10
  os p2dos
11
end

hat ja eine Kapazität von 8MB und wird im Z180SoftSystem als HDD 
implementiert. Da bin ich gerade dabei den Konfigurationsdialog zu 
erstellen. Angesprochen wird dieses "Laufwerk" dann über einen 
emulierten IDE-Controller der dann ATA-1 kompatibel sein soll. Dabei 
habe ich zu Anfang folgende Einstellungsmöglichkeiten vorgesehen: Köpfe 
0 - 15 , Spuren 0 - 2047 , Sektoren 1 - 63 , Bytes pro Sektor 128 , 256 
oder 512.

von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich habe mal die beiden beliebten Programme Wordstar und Turbo Pascal 
auf eine Disk gebracht und versucht zu starten. WS macht nichts und TP 
bricht mit einem Fehler ab.

von Thomas W. (Gast)


Lesenswert?

Moin, -

das ist schoen (sowohl der Emulator/Simulator) und die Hardware-
Loesung.

Koenntest Du den Schaltplan von der CPU-Platine teilen?

Viele liebe Gruesse

Th.

von Uwe M. (hobbyprogrammer)


Angehängte Dateien:

Lesenswert?

Joe G. schrieb:
> Ich habe mal die beiden beliebten Programme Wordstar und Turbo Pascal
> auf eine Disk gebracht und versucht zu starten. WS macht nichts und TP
> bricht mit einem Fehler ab.

Vielen Dank für die Info. Ich bin bis jetzt leider noch nicht dazu 
gekommen größere CP/M Programme zu testen. Ich wollte erstmal die 
Datenträger Anbindung ans Laufen bringen.
Die Meldung von Turbopascal wird von einem TRAP der Z180MPU ausgelöst. 
Verwendet Turbo Pascal undefined Z80 Op-Codes? Ich denke eher nicht. Ich 
werde mich dann sobald ich ein größeres Zeitfenster habe auf die 
Fehlersuche im Prozessor machen.

Thomas W. schrieb:

> Koenntest Du den Schaltplan von der CPU-Platine teilen?


Schaltplan der CPU-Platine ist angehängt. :-)

von Thomas W. (Gast)


Lesenswert?

Moin, -

vielen Dank fuer den Schaltplan. Das war auch mein Ansatz (muss nur
mal Bleistift -> KiCAD-Transformation starten)

Kleiner Kommentar noch zu dem Simulator: Ich bin ja sehr beeindruckt 
ueber
den Lazarus Compiler. Eine einzige Exe, keine Bibliotheken mit ihren
Abhaegigkeiten. Hat schon Charme. Schoen einfach.

Viele Gruesse

Th.

von Uwe M. (hobbyprogrammer)


Angehängte Dateien:

Lesenswert?

Thomas W. schrieb:
> Moin, -
>
> vielen Dank fuer den Schaltplan. Das war auch mein Ansatz (muss nur
> mal Bleistift -> KiCAD-Transformation starten)

Gerne doch.


> Kleiner Kommentar noch zu dem Simulator: Ich bin ja sehr beeindruckt
> ueber
> den Lazarus Compiler. Eine einzige Exe, keine Bibliotheken mit ihren
> Abhaegigkeiten. Hat schon Charme. Schoen einfach.

Ich hatte das Projekt vor einiger Zeit mit Qt(C++) angefangen. Aber 
genau die vielen
Bibliotheken die man mitschleppen muß nur das so ein kleines Programm 
funktioniert
haben mich auch gestört. Deshalb hab das ganze dann ende letzten Jahres 
nach Pascal
transformiert.

Joe G. schrieb:
> Ich habe mal die beiden beliebten Programme Wordstar und Turbo Pascal
> auf eine Disk gebracht und versucht zu starten. WS macht nichts und TP
> bricht mit einem Fehler ab.

Mir hats keine Ruhe gelassen und ich hab mich auf die Fehlersuche 
gemacht. Es lag nicht am Z180SoftSystem sondern an einem nicht korrekt 
gesetzten relokatierbaren Sprungvektor im CP/M-BIOS. Der ist mir auf der 
original Hardware garnicht aufgefallen. Ich habe neue CP/M Daten 
angehängt. Damit startet Turbopascal. Wordstar tut auch etwas, aber 
evtl. ist da doch noch ein weiterer Fehler vorhanden.
Was jetzt zuschlägt ist die noch fehlende Unterstützung für erweiterte 
Steuerzeichen des Terminals. Ich denke ich werde diese als nächstes 
einbauen, bevor ich das IDE-Platten Interface emuliere.

: Bearbeitet durch User
von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Das ging aber schnell :-) TP startet jetzt bei mir, nur mit der 
Terminalemulation hapert es noch, aber da bist du ja dran.

von W.S. (Gast)


Angehängte Dateien:

Lesenswert?

Uwe M. schrieb:
> Damit startet Turbopascal. Wordstar tut auch etwas, aber
> evtl. ist da doch noch ein weiterer Fehler vorhanden.

Dir ist hoffentlich klar, daß beide Programme einen Patchbereich 
besitzen, wo die diversen Steuersequenzen für die Bildschirmausgabe und 
andere Dinge geregelt sind. Die mitgelieferten Setup-Programme 
(TINST.COM und INSTALL.COM) sind für Eigenbauer ein bissel doof, denn 
was nützt einem solchen die Abfrage, ob man denn ein Lear-Siegler 
Terminal oder einen Kaypro mit oder ohne Hilite hat? Da ist dann bei 
beiden Programmen ein Patchen am PC aussichtsreicher. Anbei ein Beispiel 
für sowas.

Und da du offenbar ein CP/M-3 benutzt, mußt du drauf achten, daß auch 
Programme wie TP oder WS ganz einfach die BIOS Aufrufe benutzen, ohne 
"durch" das BDOS zu gehen. Deshalb darf die Bank-Umschaltung im BIOS 
nicht annehmen, daß das BIOS vom BDOS aus gerufen wird und deshalb der 
Stack auch im Common liegt. Siehe als Beispiel den angehängten Auszug.

Nochwas:
CP/M verträgt von der Konsole nur CR und kein LF. Aber zur Konsole 
hin muß es sowohl CR (nur X=0 setzen) als auch LF (nur Y eine Zeile 
weiter bzw. unten scrollen) sein. Und keine Zeichen über $7F.

W.S.

von Uwe M. (hobbyprogrammer)


Lesenswert?

Das Test CP/M ist noch ein ungebanktes System, von daher denke ich das 
es hier nicht wirklich klemmt. Dennoch vielen Dank für den Tip mit der 
Bankumschaltung. Davor muß ich aber erst sicherstellen das die MMU in 
der emulierten CPU auch richtig funktioniert.

Das Thema Console CR und LF ist mir bekannt. Mit der Konfiguration von 
Wordstar und Turbopascal unter CP/M hab ich leider keine Erfahrung. Aber 
was nicht ist kann ja noch werden. :-)

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

W.S. schrieb:
> Dir ist hoffentlich klar, daß beide Programme einen Patchbereich
> besitzen, wo die diversen Steuersequenzen für die Bildschirmausgabe und
> andere Dinge geregelt sind.

Meine beigefügte 720K Floppy beinhaltet schon das WS und TP mit den 
VT100 Einstellungen, sollte also mit einem kompatiblen VT100 Terminal 
korrekt funktionieren.

von W.S. (Gast)


Lesenswert?

Nun ja, VT100 finde ich nun nicht wirklich nett. Eine der häufigste 
Sequenzen - nämlich das Cursor-Positionieren - läuft da über zwei- oder 
dreistellige Dezimalziffernfolgen für X und Y. "Bäh" kann man dazu nur 
sagen, denn eben dieses Verfahren setzt eine Ausgabekonvertierung und 
gleich danach eine Eingabekonvertierung voraus - und das bei einem 
kleinen Z80 System, was womöglich noch mit 4 MHz Systemtakt läuft. Da 
ist das ältere Verfahren esc=xy  mit x=char(32+Xkoordinate) und 
y=char(32+Ykoordinate) wesentlich effektiver.

Und ja, ich weiß, daß es inzwischen Z80 mit 20 MHz Takt gibt. Das 
erleichtert das ganze etwas, gilt aber m.W. nicht für den Z180 und 
aufwärts.

W.S.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

W.S. schrieb:

W.S. schrieb:
> Und ja, ich weiß, daß es inzwischen Z80 mit 20 MHz Takt gibt. Das
> erleichtert das ganze etwas, gilt aber m.W. nicht für den Z180 und
> aufwärts.

Mein System läuft mit 18 MHz.
Beitrag "Re: Z180-Stamp Modul"

von S. R. (svenska)


Angehängte Dateien:

Lesenswert?

W.S. schrieb:
> Die mitgelieferten Setup-Programme (TINST.COM und INSTALL.COM)
> sind für Eigenbauer ein bissel doof, denn was nützt einem
> solchen die Abfrage, ob man denn ein Lear-Siegler
> Terminal oder einen Kaypro mit oder ohne Hilite hat?

Wenn der Emulator (bzw. die eigene Hardware) kompatibel zu einem dieser 
Terminals ist, dann funktionieren diese Programme ausgezeichnet. Mein 
System konvertiert deswegen z.B. zwischen ADM-3A (CP/M-seitig) und VT100 
(Nutzerseitig) umher. Ich hab die C-Datei mal angehängt.

W.S. schrieb:
> Nun ja, VT100 finde ich nun nicht wirklich nett.

Das hat mehrere Facetten, von denen ich die Dezimalzahlendarstellung 
eher als unwichtiges Detail betrachte.

Erstens kam das VT100 für CP/M recht spät und wird daher direkt von 
vielen Anwendungen nicht unterstützt, oder nur in neueren Versionen. 
Also muss man die Programme patchen.

Zweitens ist das ANSI-Protokoll sehr erweiterbar und wurde mit den 
Jahrzehnten auch deutlich erweitert: Farben, mehr Tasten, etc. Ich würde 
mich nicht wundern, wenn CP/M-Programme damit nicht ordentlich umgehen 
können.

Drittens: Die Idee, ESC einerseits als Escapezeichen im Protokoll zu 
benutzen, andererseits aber eine ESC-Taste ohne Escaping 
bereitzustellen, ist hochgradig genial. Viele DOS- und CP/M-Anwendungen 
benutzen ESC aber als Taste statt als Sequenz. Ich kann garnicht so 
viel fressen, wie ich deswegen kotzen möchte.

Wie man ESC von einer Pfeiltaste unterscheidet? Klassisch natürlich mit 
einem Timeout, damit sich das System auch richtig schön langsam anfühlt. 
Und über das Internet natürlich auch nicht zuverlässig funktioniert. 
(Der Code oben erwartet "ESC ESC" für die Escape-Taste.)

: Bearbeitet durch User
von Uwe M. (hobbyprogrammer)


Lesenswert?

So, hab nun doch ein kleines Zeitfenster gehabt und den Source Code des 
Z180SoftSystem bei GitHub hochgeladen.
Zu finden unter:   https://github.com/ProgrammingHobby/Z180SoftSystem

von Tom T. (tomth)


Lesenswert?

Uwe M. schrieb:
>> Gibt es dazu Bilder? :)
>
> Gerne doch. Daran solls nicht liegen. :-)

Wow :D

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Es scheint auch noch Probleme bei der Abarbeitung der Z80 Befehle zu 
geben. Der Z80 exerciser wirft sehr schnell Fehler

Z80all instruction exerciser

<adc,sbc> hl,<bc,de,hl,sp>....  ERROR **** crc expected:d48ad519 
found:f39089a0

add hl,<bc,de,hl,sp>..........  ERROR **** crc expected:d9a4ca05 
found:1165fc90

add ix,<bc,de,ix,sp>..........  ERROR **** crc expected:b1df8ec0 
found:c359f7a2

von Uwe M. (hobbyprogrammer)


Lesenswert?

Joe G. schrieb:
> Es scheint auch noch Probleme bei der Abarbeitung der Z80 Befehle zu
> geben. Der Z80 exerciser wirft sehr schnell Fehler
>
> Z80all instruction exerciser
>
> <adc,sbc> hl,<bc,de,hl,sp>....  ERROR **** crc expected:d48ad519
> found:f39089a0
>
> add hl,<bc,de,hl,sp>..........  ERROR **** crc expected:d9a4ca05
> found:1165fc90
>
> add ix,<bc,de,ix,sp>..........  ERROR **** crc expected:b1df8ec0
> found:c359f7a2

Das liegt daran, das der Zexall Test nicht nur die undokumentierten Z80 
Op-Codes sondern auch die undokumentierten Bits im Flag Register F 
auswertet.
Weder die undokumentierten Z80 Op-Codes noch die undokumentierten Bits 
im Register F werden von der Emulation abgedeckt. Bei undefinierten 
OP-Codes löst der Z180 einen TRAP Interrupt aus.

von Uwe M. (hobbyprogrammer)


Angehängte Dateien:

Lesenswert?

Ich habe nun nochmals aktuell den Zexdoc Test durchlaufen lassen und das 
Terminal Logfile angehängt. Da sieht die Sache schon sehr viel besser 
aus.
Die gemeldeten Fehler bei RLD und RRD sind duch das Dokument 'Z180 
Family Questions and Answers' Seite 6-2 Abschnitt 
'INSTRUCTIONS(Continued)' zu erklären. Alle anderen Fehler sind dann 
wohl auf die undokumentierten Z80 Op-Codes zurückzuführen.
Der Zexdoc Test läuft nur dann, wenn das Z180 Modul mit dem 
Compilerschalter 'NOTRAP' kompiliert wird.

von S. R. (svenska)


Lesenswert?

Du könntest testweise die beim Z80 undokumentierten Flags (und evtl. 
auch Opcodes) ausmaskieren. Das gibt zwar andere CRC-Werte, aber wenn du 
mit einem echten Z80 vergleichst...

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Ein Vorschlag um deinen Terminal nicht VT100, VT220, DEC oder ähnliches 
beizubringen könntest du doch das bisher nicht unterstütze Umschalten 
der E/A Kanäle (DEVICE.COM) implementieren. Somit könnte man die Konsole 
z.B. auf einen virtuellen COM-Port schalten und diesen per virtuellem 
Nullmodemkabel wieder auf ein Terminalprogram seiner Wahl, welche eine 
Terminalemulation unterstützt.

von W.S. (Gast)


Angehängte Dateien:

Lesenswert?

Uwe M. schrieb:
> Ich habe nun nochmals aktuell den Zexdoc Test durchlaufen lassen

Ich denke mal, daß etwaige Fehler bzw. Absturz von CP/M-Programmen eher 
durch irgend etwas Vergessenes oder falsch Gedachtes beim BIOS zu suchen 
sind. Die damaligen Programme benutzen m.W. niemals irgendwelche 
undokumentierten Befehle und viele benutzen nur das, was der 8080 auch 
kann.

Was mir bei deinem Projekt aufgefallen ist: du scheinst für den 
Interpreter keinen separaten Thread zu benutzen. Ich hab dir hier mal 
was drangehängt. Die Display-Terminalfunktioalität läuft in IoStream als 
separater Thread und kann deshalb stinke-prozedural programmiert sein. 
Ist ne Erleichterung. Ich hab dort sowohl etwas VT-100 als auch etwas 
'MicroBee VDU' eingebaut. Das war aber eher die 
Versuch-und-Irrtum-Methode.

W.S.

von Uwe M. (hobbyprogrammer)


Lesenswert?

Joe G. schrieb:
> Ein Vorschlag um deinen Terminal nicht VT100, VT220, DEC oder ähnliches
> beizubringen könntest du doch das bisher nicht unterstütze Umschalten
> der E/A Kanäle (DEVICE.COM) implementieren. Somit könnte man die Konsole
> z.B. auf einen virtuellen COM-Port schalten und diesen per virtuellem
> Nullmodemkabel wieder auf ein Terminalprogram seiner Wahl, welche eine
> Terminalemulation unterstützt.

Ich möchte das Z180SoftSystem erstmal in sich funktionierend haben, 
zumal ich bei dem Terminal schon recht weit bin. Denke mal nächste Woche 
müsste ich es fertig bekommen. Aber Dein Vorschlag kommt auf jeden Fall 
auf die Todo Liste. Dort hab ich schon stehen, das LIST Device von CP/M 
auf einen auswählbaren Drucker am Host System verbinden zu können, und 
auch das AUX Device auf einen wählbaren COM Port am Host System legen zu 
können. Dann wäre das Drucken und auch ein Datenaustausch für Programme 
die im Z180SoftSystem laufen möglich. ?

von Uwe M. (hobbyprogrammer)


Lesenswert?

W.S. schrieb:
> Was mir bei deinem Projekt aufgefallen ist: du scheinst für den
> Interpreter keinen separaten Thread zu benutzen.

Das stimmt. Ich habe schon mal dran gedacht die CPU und/oder das 
Terminal in eigenen Threads laufen zu lassen. Aber mit der Thread 
Programmierung habe ich noch keinerlei Erfahrung oder Berührung gehabt, 
von daher ist das etwas was vielleicht irgendwann später einmal als 
Optimierung verwirklicht wird.

von W.S. (Gast)


Lesenswert?

Uwe M. schrieb:
> vielleicht irgendwann später einmal

Ist doch easy. Mach's lieber gleich, das erspart dir eine Menge 
Hakeligkeiten. Und wie das im Prinzip geht, kannst du in meinem 
geposteten Terminalprogramm sehen. Das sollte auch unter Linux gehen, 
man muß dort lediglich eine Linux-Version des TComPort haben.

W.S.

von Uwe M. (hobbyprogrammer)


Angehängte Dateien:

Lesenswert?

Nun, ists doch schneller gegangen als gedacht. Ich habe die Version 1.2 
angehängt. Der Sourcecode ist wieder bei Github zu finden: 
https://github.com/ProgrammingHobby/Z180SoftSystem

Das Terminal kann nun mit Escape Steuersequenzen umgehen. Und es ist 
auch eine neue CP/M Testversion dabei. Im CP/M-Bios hatten sich 2 Fehler 
eingeschlichen die den Start von TurboPascal sowie WordStar verhindert 
haben.

Falls noch ESC-Steuerzeichen fehlen oder nicht richtig funktionieren, 
bitte melden.  :)

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

bei mir machen TP und WS einfach nichts.

CP/M V3.0 Loader
Copyright (C) 1998, Caldera Inc.

 BIOS3    SPR  E900  0600
 BDOS3    SPR  C800  2100


 50K TPA



CP/M Version 3.0
Z180 System-BIOS Version 2.3
Copyright (C) 2005 Uwe Merker
A>b:

B>dir

B: PRINT    TST : SAMPLE   BAK : SAMPLE   TXT : WINSTALL COM : WS 
COM
B: WS       INS : WS-30    COM : WSMSGS   OVR : WSOVLY1  OVR : WSTEST 
COM
B: WSU      COM : TEST     PAS : TINST    COM : TINST    DTA : TINST 
MSG
B: TURBO    COM : TURBO    MSG : TURBO    OVR : PRINT    TST : SAMPLE 
BAK
B: SAMPLE   TXT : WINSTALL COM : WS       COM : WS       INS : WS-30 
COM
B: WSMSGS   OVR : WSOVLY1  OVR : WSTEST   COM : WSU      COM : TEST 
PAS
B: TINST    COM : TINST    DTA : TINST    MSG : TURBO    COM : TURBO 
MSG
B: TURBO    OVR
B>turbo

B>ws

B>

: Bearbeitet durch User
von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

Kommando zurück ;-) Ich hatte 720K Disketten erstellt und nur 360K 
Disketten gelesen :-( Mit den richtigen Einstellungen funktioniert es.

von Uwe M. (hobbyprogrammer)


Lesenswert?

Phuu, gut. Hatte schon befürchtet ich hätte doch nen Fehler beim Packen 
gemacht.
Hatte gestern Abend noch selbst mit TP und WS ein wenig herumgespielt. 
Ich werd heut oder morgen auch die Binarys bei Github einpflegen. Dann 
können die auch von dort heruntergeladen werden. :-)

von Uwe M. (hobbyprogrammer)


Lesenswert?

Mir ist heute aufgefallen das einige Tastaturcodes im Terminal wohl 
nicht richtig umgesetzt werden. Also z.B. # , ? , < , > , ^ .
Ich befürchte das das ein generelles Problem ist. Ist das bei euch auch 
so? Wäre schön wenn mir jemand da Feedback geben könnte und vielleicht 
auch die Zeichen nennen welche nicht richtig kommen. Evtl. auch ob bei 
der Windows oder Linux Version.

von Uwe M. (hobbyprogrammer)


Lesenswert?

Ich habe gerade aus dem Lazarusforum mitbekommen das das von Linux auf 
Windows anders ist mit den Tastaturcodes. Habe das dann auch schnell in 
meinen beiden Programmier-VMs nachvollzogen und belegen können.

Ich werde in den nächsten Tagen eine entsprechend Fehlerbereinigte 
Version zur Verfügung stellen.

von Uwe M. (hobbyprogrammer)


Lesenswert?

Hallo,

ich habe nun die Fehlerbereinigte Version fertig. Jetzt sind die 
Sonderzeichen auch unter Linux so wie unter Windows mit 'ALTGR' 
erreichbar.
Die neue Version ist 1.2.1. Ich habe diese so wie die Sourcen auch bei 
Github zum Download eingestellt.

https://github.com/ProgrammingHobby/Z180SoftSystem

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Auf meinem System (Win 8.1) läuft die Darstellung korrekt.

von Uwe M. (hobbyprogrammer)


Lesenswert?

Danke für das Feedback.
Ich habe die Version 1.2.1 kurz in folgenden VMs getestet: WinXP 32bit , 
Win7 64bit , Win10 64bit , Debian Buster 64bit , Mint LMDE 4 64bit und 
KUbuntu 18.04 64bit.

von Edgar S. (Firma: keine) (heinbloed1)


Lesenswert?

Hallo Leute !

Hier ist eine reelle Hardware abzugeben:

Beitrag "YAZ180 angefangenes Projekt abzugeben"

MfG

von Uwe M. (hobbyprogrammer)


Lesenswert?

Hallo,

ich habe heute nochmal ein wenig getestet. Dabei habe ich festgestellt 
das der CP/M Befehl 'Initdir' nicht läuft. Dieser überschreibt den BDOS 
Einsprungvektor an Adresse 0006h mit 0001h und bleibt dann bei Adresse 
ED8Ch mit eine OP-Code TRAP hängen.
Kann mir da jemand kurz auf die Sprünge helfen? Hab ich da noch einen 
Fehler im CP/M-BIOS oder muß ich eher in der CPU-Emulation nach dem 
Fehler suchen?

Grüße

HobbyProgrammer

von W.S. (Gast)


Lesenswert?

Uwe M. schrieb:
> das der CP/M Befehl 'Initdir' nicht läuft.

daß

und Initdir ist kein üblicher CP/M-Befehl - jedenfalls keiner von CP/M 
2.2. Es ist also ein separates Programm - und da weiß man aus der Ferne 
erstmal nicht, was dieses denn so tut. Ich tippe darauf, daß dieses 
Programm der emulierten Laufwerksverwaltung ins Gehege kommt.

Also Frage: läuft dieses Programm denn korrekt auf einem nativen 
CP/M-System?

W.S.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

W.S. schrieb:
> Initdir ist kein üblicher CP/M-Befehl

Bei CP/M 3 schon, darum gehts ja hier.

Vielleicht ist noch etwas mit dem Abspeichern von Zeit- und 
Datumseinträgen nicht korrekt.

von Uwe M. (hobbyprogrammer)


Lesenswert?

W.S. schrieb:
>
> Also Frage: läuft dieses Programm denn korrekt auf einem nativen
> CP/M-System?
>

Das kann ich leider nicht nachprüfen. Ich meine damals vor 15Jahren als 
ich das Z180 System aufgebaut habe, hab ich Initdir benutzt. Mangels 
Boot-Medien kann ich meine Hardware leider derzeit nicht reaktivieren.


Joe G. schrieb:
> Vielleicht ist noch etwas mit dem Abspeichern von Zeit- und
> Datumseinträgen nicht korrekt.

Das würde dann heisen das ich den Fehler im CP/M-BIOS suchen muß.

von W.S. (Gast)


Angehängte Dateien:

Lesenswert?

Joe G. schrieb:
> Bei CP/M 3 schon, darum gehts ja hier.

Nö. Ist es nicht. Hab grad mal näher nachgesehen: Initdir ist ein 
separates Programm. Es hat wohl zum Lieferumfang von CPM3 gehört, aber 
das ist etwas anderes als ein üblicher CPM-Befehl. Die sind nämlich im 
CCP eingebaut.

So. Und weil Initdir ein separates Programm ist, muß man davon ausgehen, 
daß es eben NICHT wie der CCP nur ganz brav auf die Funktionen des BDOS 
zugreift. Das macht alles komplizierter.

Ich hab grad nochmal gesucht und die beigefügten Quellen gefunden. 
Initdir ist in PL1 geschrieben und scheint ja doch über das BDOS (BDOS 
Funktion 50) auf das BIOS zuzugreifen.

W.S.

von Uwe M. (hobbyprogrammer)


Lesenswert?

Ich kann Entwarnung geben. Initdir läuft. Ich habe gestern nur so aus 
einer Idee heraus das Initdir aus dem C't Prof80 Projekt versucht und 
dieses läuft. Das Initdir welches in den bisher hatte läuft nicht. Ich 
weis jetzt auch nicht woher ich das hatte. Ist ja schon 15Jahre her das 
ich diese Daten angefasst habe...

von Sinus T. (micha_micha)


Lesenswert?

W.S. schrieb:
> Initdir ist ein
> separates Programm. Es hat wohl zum Lieferumfang von CPM3 gehört, aber
> das ist etwas anderes als ein üblicher CPM-Befehl. Die sind nämlich im
> CCP eingebaut.

Ja, es ist ein separates Programm, gehört aber zu CP/M, genauso wie SET, 
SETDEF, TYPE, DATE, DEVICE usw. Nach deiner Logik dürfte DIR auch nicht 
zu CP/M gehören, denn es ist ja auch ein separates Programm. Sobald du 
nämlich irgendeine Option angibst, mach das nicht mehr der CCP.

W.S. schrieb:
> Initdir ist in PL1 geschrieben...

Nein, PL/M

von S. R. (svenska)


Lesenswert?

Sinus T. schrieb:
> Nach deiner Logik dürfte DIR auch nicht
> zu CP/M gehören, denn es ist ja auch ein separates Programm.

DIR ist gerade kein separates Programm, sondern (wie auch z.B. ERA) 
fester Bestandteil von CCP. Und CCP ist ein elementarer Bestandteil von 
CP/M; ASM oder SYSGEN hingegen nicht - auch, wenn beide mitgeliefert 
werden.

Bei CCP kannst du davon ausgehen, dass es das von DR gelieferte 
Standardprogramm ist. Bei SYSGEN kannst du davon ausgehen, dass es 
nicht das von DR gelieferte Standardprogramm ist. Beide gehören zu 
CP/M.

Du siehst das Problem?

: Bearbeitet durch User
von Sinus T. (micha_micha)


Lesenswert?

S. R. schrieb:
> DIR ist gerade kein separates Programm, sondern (wie auch z.B. ERA)
> fester Bestandteil von CCP.

Wenn du einfach nur "DIR" eintippst, dann macht dass der CCP. Wenn du 
jedoch Optionen angibst, z.B. "DIR [FULL]", dann macht dass das externe 
DIR, zu finden auf der System-Disk.

Edit: Wie gesagt, wir reden hier von CP/M 3

: Bearbeitet durch User
von Uwe M. (hobbyprogrammer)


Lesenswert?

Hallo zusammen,

seit ein paar Minuten steht die Version 2.0.0 zum Download bei GitHub 
bereit. Als Laufwerk ist nun auch ein HDD-Drive verfügbar das über einen 
ATA-1 kompatiblen Kontroller angesprochen werden kann. Auch ist die 
'virtuelle Taktfrequenz' der CPU in 4 Schritten einstellbar. Und im 
Hilfemenü gibt es nun eine Auflistung der Emulierten Hardware mit 
Portadressen und Befehls/Steuercodes.

Zu finden wie gehabt unter: 
https://github.com/ProgrammingHobby/Z180SoftSystem

Grüße
HobbyProgrammer

von Frager (Gast)


Lesenswert?

Uwe M. schrieb:
> Ich hatte das Projekt vor einiger Zeit mit Qt(C++) angefangen. Aber
> genau die vielen
> Bibliotheken die man mitschleppen muß nur das so ein kleines Programm
> funktioniert
> haben mich auch gestört. Deshalb hab das ganze dann ende letzten Jahres
> nach Pascal
> transformiert.

mal mit wxwidgets probiert?

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Prima!
Die von dir bereitgestellte HD läuft bei mir. Nun wollte ich jedoch das 
8 M AltairSIMH Format verwenden und bin gescheitert. Dazu hatte ich die 
folgenden Einstellungen vorgenommen:

Köpfe 1
Spuren 2048
Sektoren 32
Byte/Sektor 128

macht genau 8MB. Es kommt jedoch bei mir der Fehler CP/M Error On C: 
Diskt I/O

Habe ich was übersehen?

von Uwe M. (hobbyprogrammer)


Lesenswert?

Das in den Testdaten vorhandene CP/M BIOS kennt nur das Format welches 
ich zum Test mitgeliefert habe. Für andere Formate muß das BIOS mit den 
Drive Parameter Blöcken angepasst werden.

von Uwe M. (hobbyprogrammer)


Lesenswert?

Joe G. schrieb:
> Prima!
> Die von dir bereitgestellte HD läuft bei mir. Nun wollte ich jedoch das
> 8 M AltairSIMH Format verwenden und bin gescheitert. Dazu hatte ich die
> folgenden Einstellungen vorgenommen:
>
> Köpfe 1
> Spuren 2048
> Sektoren 32
> Byte/Sektor 128
>
> macht genau 8MB. Es kommt jedoch bei mir der Fehler CP/M Error On C:
> Diskt I/O
>
> Habe ich was übersehen?

Ich habe mir Dein Z180 Projekt nun mal genauer angesehen. 1:1 wird es 
nicht gehen, da die zugrundeliegende Hardware zu unterschiedlich ist. 
Wenn es Dir nur darum geht von meinem Emulator aus auf das Simh-Image 
zugreifen zu können um darauf zu Arbeiten sollte das möglich sein. 
Booten über ein FDD-Image und dann auf Dein Image zugreifen. Allerdings 
passen Deine HDD Einstellungen nicht ganz. Das BIOS in den Testdaten 
geht von 16 Köpfen aus. Da CP/M aber keine Köpfe kennt sondern nur 
Sektoren und Spuren werden die unteren 4Bit der jeweiligen Spur als 
Kopfadresse benutzt. Die Einstellungen müssten also eher sein: Köpfe 16, 
Spuren 128, Sektoren 32 und 128Byte/Sektor. Dennoch fehlt dann die 
passende DBP Definition im BIOS. Ich kann Dir anbieten das Du mir ein 
solches Image von Dir zukommen lässt. Dann baue ich Dir eine 
Konfiguration damit Du das Image im Z180SoftSystem lesen und schreiben 
kannst.

von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

Uwe M. schrieb:
> Wenn es Dir nur darum geht von meinem Emulator aus auf das Simh-Image
> zugreifen zu können um darauf zu Arbeiten sollte das möglich sein.

Ja, genau um diesen Punkt würde es mir gehen. Das SIHM-HD Format wird ja 
in vielen Projekten verwendet und so könnte man diese Immage-Datein 
problemlos verwenden. Das Format hatte ich ja hier
Beitrag "Re: Z180SoftSystem"
schon mal angegeben. Anbei auch ein Immage im SIHM-HD Format.

von Uwe M. (hobbyprogrammer)


Lesenswert?

Ok. Ich schaue mir das gerne am Wochenende an und geb Dir dann bescheid.

von Leo C. (rapid)


Lesenswert?

Falls es hilft...

CP/M-Utils diskdef Eingtrag:
1
# SIMH AltairZ80 Harddisk
2
diskdef simhd
3
  seclen 128
4
  tracks 2048
5
  sectrk 32
6
  blocksize 4096
7
  maxdir 1024
8
  skew 0
9
  boottrk 6
10
  os 2.2
11
end

So sieht das Format unter CP/M 2 aus:
1
A>stat dsk:
2
3
    A: Drive Characteristics
4
65344: 128 Byte Record Capacity
5
 8168: Kilobyte Drive  Capacity
6
 1024: 32  Byte Directory Entries
7
 1024: Checked  Directory Entries
8
  256: Records/ Extent
9
   32: Records/ Block
10
   32: Sectors/ Track
11
    6: Reserved Tracks

DPB-Daten für CP/M 2:
1
dpbdat_simhd:       ;
2
  .db 0x00,0x20    ;sector offset, low(spt)
3
  .db 0x00,0x05    ;high (spt), block shift
4
  .db 0x1F,0x01    ;bock mask, extent mask
5
  .db 0xF9,0x07    ;disk size - 1,
6
  .db 0xFF,0x03    ;dir max
7
  .db 0xFF,0x00    ;alloc0, alloc1
8
  .db 0x00,0x01    ;chk size
9
  .db 0x06,0x00    ;offset

DPB-Daten für CP/M 3, "Wechselmedium"
1
  123                     ; dpb  physical$sector$size,  - disk parameter block
2
  124                     ;  physical$sectors$per$track,
3
  125                     ;  number$tracks,
4
  126                     ;  block$size,
5
  127                     ;  number$dir$entries,
6
  128                     ;  track$offset,
7
  129                     ;  checksum$vec$size    (optional)
8
  130                   
9
  131 0000'             dpbsimhd512:
10
  132                     dpb 512,8,2048,4096,1024,6,8100h
11
   50 0000' 0020          dw  ??0011    ; 128 byte records per track
12
   51 0002' 05 1F         db  ??0012,??0013  ; block shift and mask
13
   52 0004' 01            db  ??0014    ; extent mask
14
   53 0005' 07F9          dw  ??0015    ; maximum block number
15
   54 0007' 03FF          dw  ??0016    ; maximum directory entry number
16
   55 0009' FF 00         db  ??0017,??0018  ; alloc vector for directory
17
   56 000B' 8100          dw  ??0019    ; checksum size
18
   57 000D' 0006          dw  6    ; offset for system tracks
19
   58 000F' 02 03         db  ??001A,??001B  ; physical sector size shift

DPB-Daten für CP/M 3, "Festplatte"
1
  213 0000'             dpbsimhd512:
2
  214                     dpb 512,8,2048,4096,1024,6,8000h
3
   50 0000' 0020          dw  ??0011    ; 128 byte records per track
4
   51 0002' 05 1F         db  ??0012,??0013  ; block shift and mask
5
   52 0004' 01            db  ??0014    ; extent mask
6
   53 0005' 07F9          dw  ??0015    ; maximum block number
7
   54 0007' 03FF          dw  ??0016    ; maximum directory entry number
8
   55 0009' FF 00         db  ??0017,??0018  ; alloc vector for directory
9
   56 000B' 8000          dw  ??0019    ; checksum size
10
   57 000D' 0006          dw  6    ; offset for system tracks
11
   58 000F' 02 03         db  ??001A,??001B  ; physical sector size shift

von Uwe M. (hobbyprogrammer)


Angehängte Dateien:

Lesenswert?

Wie es der Zufall so will hatte ich heute schon um 12Uhr Feierabend und 
konnte mich um das SIMHD Format kümmern. Viel mußte ich am BIOS nicht 
ändern. Bitte Testen! :)

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Klasse, funktioniert! Meine Image-Datein können alle fehlerfrei gelesen 
werden.

von Uwe M. (hobbyprogrammer)


Lesenswert?

Perfekt. Freut mich. Wenn Du noch weitere Anpassungen brauchst gib 
einfach Bescheid.

von Uwe M. (hobbyprogrammer)


Lesenswert?

Ich habe neue CP/M-Testdaten hochgeladen. Darin befindet sich ein 
einfaches Banked CP/M mit einer TPA von 60KB.

Zu finden wie gehabt unter: 
https://github.com/ProgrammingHobby/Z180SoftSystem

von Uwe M. (hobbyprogrammer)


Lesenswert?

Hallo zusammen,

ich habe soeben die Version 2.1.1 hochgeladen. Was geändert wurde steht 
wie immer in der Version.txt.

In der Version 2.1.1 funktioniert nun auch die DMA-Kontroller Emulation. 
Ein in 2005 geschriebenes CP/M-BIOS das für den xmove den Z180 
DMA-Controller benutzt läuft darauf ohne Änderungen am BIOS-Code.
Auch die DMA-Kanal 0 Memory <-> ASCI funktion habe ich eingebaut. So wie 
in der Z180 Dokumentation beschrieben funktioniert dieses auch. Da ich 
leider im Augenblick noch keine Möglichkeit habe mein reales Z180-System 
mal eben mit Test-Code über EEPROM oder EPROM-Simulator zu reaktivieren, 
kann ich diese Funktion leider nicht überprüfen.
Vielleicht hat ja jemand hier im Forum die Möglichkeit das mal an einem 
realen System gegenzuprüfen und mir dann Feedback zu geben.

Die Version 2.1.1 ist wie immer bei GitHub zu finden: 
https://github.com/ProgrammingHobby/Z180SoftSystem

Grüße
Hobbyprogrammer

von Torsten K. (Firma: TOKA) (avantasia)


Lesenswert?

Ich habe das sicher überlesen, aber was sind die Grundvoraussetzungen um 
das Projekt zu kompilieren, Pascal Version... ?

von Uwe M. (hobbyprogrammer)


Lesenswert?

Für Windows und Linux sind im Ordner Releases kompilierte Binarys 
eingestellt.
Entwickelt habe ich das Z180SoftSystem unter Linux (Ubuntu 18.04LTS) mit 
Lazarus 2.0.10 und FPC 3.2.
Es kompiliert mit der Lazarus Standardinstallation ohne zusätzliche 
Packages.

von Torsten K. (Firma: TOKA) (avantasia)


Lesenswert?

Dankeschön für die Antwort.

von Uwe M. (hobbyprogrammer)


Lesenswert?

Hallo zusammen,

es ist wieder eine neue Version des Z180SoftSystems fertig geworden.
Diese trägt die Versions Nummer 2.2.0.
Zu finden wie immer bei GitHub: 
https://github.com/ProgrammingHobby/Z180SoftSystem

Grüße
HobbyProgrammer

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Bei mir bleibt das CP/M in beiden Bootvarianten (FDD und HDD mit dem 
jeweiligen Boot ROM) nach dem Bootvorgang hängen. Es sind keine Eingaben 
über die Tastatur möglich.

Nachtrag: Version 2.2.0

: Bearbeitet durch User
von Uwe M. (hobbyprogrammer)


Lesenswert?

Schau mal nach ob Du den Arbeitsspeicher auf 256KB eingestellt hast.

Habs gerade nochmals bei mir (Linux) mit der Version 2.2.0 und den CP/M 
Testdaten (beide extra von GitHub heruntergeladen) probiert.
Wenn der Speicher auf weniger als 256KB eingestellt ist, dann bleibt das 
System nach dem Booten hängen.

Hab die Version auch nochmals unter Win7 getestet. Läuft mit 256KB 
Arbeitsspeicher.

: Bearbeitet durch User
von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Danke! Das war es. Jetzt bootet das System von Diskette und HDD korrekt 
und es erscheint jeweils der Eingabepromt.

von Uwe M. (hobbyprogrammer)


Lesenswert?

Kein Problem. Gerne.
Hätte ja durchaus sein können das mir etwas durchgegangen ist. Wollte 
die kleinen Verbesserungen noch herausgeben bevor es kommendes 
Wochenende für 3 Wochen in Urlaub geht.

von Uwe M. (hobbyprogrammer)


Lesenswert?

Hallo zusammen,

es ist wieder eine neue Version des Z180SoftSystems fertig geworden.
Diese trägt die Versions Nummer 2.3.0.

Hauptsächlich habe ich in dieser Version die Terminal-Emulation 
dahingehend geändert,
als das diese nun in einem eigenen Thread läuft und somit von der 
eigentlichen CPU-Emulation
entkoppelt ist. Desweiteren habe ich die Disketten-Emulation 
überarbeitet. Diese läuft
nun deutlich schneller. Allgemein wurde auch die 
Emulationsgeschwindigkeit unter Windows verbessert.

Zu finden wie immer bei GitHub: 
https://github.com/ProgrammingHobby/Z180SoftSystem

Grüße
HobbyProgrammer

von chris_ (Gast)


Lesenswert?

>es ist wieder eine neue Version des Z180SoftSystems fertig geworden.

Keliner Tipp für die Darstellung auf GitHub: Wenn Du mit Markdown in 
einem Readme.md kurz beschreibst, was das Projekt macht, hast Du mehr 
Interessenten.

Folgende Punkte sollten beantwortet werden:

What?
Why?
How? ( compilation, installation instructions )

Gruss,
chris_

von Uwe M. (hobbyprogrammer)


Lesenswert?

chris_ schrieb:
> Keliner Tipp für die Darstellung auf GitHub: Wenn Du mit Markdown in
> einem Readme.md kurz beschreibst, was das Projekt macht, hast Du mehr
> Interessenten.

Danke für die Erinnerung. Das hatte ich schon eine ganze Weile vor. Ist 
aber leider immer wieder untergegangen. Seit heute aber vorhanden. :-)

von Uwe M. (hobbyprogrammer)


Lesenswert?

Hallo an alle,

ich bin gerade dabei für mein Z180SoftSystem die Möglichkeit zu schaffen 
über das CP/M List-Device auf einen Drucker am Hostsystem zu drucken.
Nun hätte ich dazu eine Frage: Könnt Ihr mir evtl. Dateien von z.B. 
Supercalc,WordStar zukommen lassen, damit ich damit die Druckerfunktion 
testen kann? Das würde mir die Arbeit ersparen mich erst in diese 
Programme einarbeiten zu müssen, um z.B. bestimmte Formatierungen oder 
Schriften zu Testen.

Vielen Dank.

Grüße
HobbyProgrammer

von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

Bitteschön, anbei eine WordStar Datei.

: Bearbeitet durch User
von Uwe M. (hobbyprogrammer)


Lesenswert?

Danke schön. :-)

von Uwe M. (hobbyprogrammer)


Lesenswert?

Hallo,

ich habe soeben die Version 2.4.0 meines Z180SoftSystems hochgeladen.
Nachdem ich seit ein paar Wochen im Besitz eines TL866-II Plus und eines 
MEMSIM2 bin,
konnte ich mein reales Z180-System wiederbeleben und den ein oder 
anderen Testcode
laufen lassen um so die Emulation näher an die Hardware 
heranzuprogrammieren.
Das emulierte Terminal wurde auf 80x30 Zeichen vergößert. Außerdem sind 
4 Darstellungsmodi
auswählbar. Ebenso sind einige neue ESC Sequenzen hinzugekommen.

In den Release Files ist auch ein neues CP/M mit dabei. Dieses wird 
komplett aus dem
ROM gebootet. Auf den Laufwerken wird keine CPM3.SYS mehr benötigt.
Das BIOS ist noch eine Entwicklungsversion. Diese ist modular aufgebaut. 
Derzeit funktionieren
die Timestamps und Device Redirection funktionieren. Das BIOS erkennt 
anhand den Einstellungen
im Festplatten Dialog 4 verschiedene Festplatten Images (siehe Read.me). 
Die Disketten Laufwerke
sind noch auf 720KB (Laufwerk A:) und 1,44MB (Laufwerk B:) festgelegt. 
Auch wird der CCP derzeit
noch fix von Laufwerk A: geladen.

Zu finden ist das Z180SoftSystem wie immer unter: 
https://github.com/ProgrammingHobby/Z180SoftSystem

Viele Grüße

HobbyProgrammer

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.