Robotrontechnik-Forum

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

Robotrontechnik-Forum » Technische Diskussionen » P8000 MAME Emulation - brauche U857D/UA858 Datenblätter » Themenansicht

Autor Thread - Seiten: -1-
000
15.10.2026, 08:52 Uhr
Olli

Avatar von Olli

Moin,

so - meine MAME Emulation des P8000 funktioniert. Sogar inkl. RTC. habe den U130 emuliert, da der nunmal wenn eine RTC ist die Wahl war in einem Originalsystem. WEGA Bootet, login klappt.... alles fein.

Ich musste neben anderen Anpassungen an Z80 Komponenten die wirklich Bugs in MAME waren 2 Anpassungen an der Z80 DMA und Z80 CTC machen die "DDR spezifisch" zu sein scheinen.....

Ich bräuchte bitte einmal die Datenblätter zu den U857 und UA858. Bitte wenn es mehrere Varianten gibt die "ausführlichste" - gerne eine die OCR im Bauch hat - das erleichtert mir das suchen ungemein


Zitat:

// Einige CTC-Klone (z. B. der U857D im P8000) geben beim Auslesen
// nach einem Software-Reset die Zeitkonstante zurück und nicht den eingefrorenen
// Abwärtszähler (Down-Counter).

Belege: Keine aus einem Datenblatt. Die Zilog Z80 CTC Produktspezifikation besagt lediglich, dass ein Kanal, der einen Software-Reset erhält, „zu zählen aufhört“ und dass danach „ein neues Zeitkonstanten-Wort geschrieben werden muss“, aber sie spezifiziert nicht, was ein Read-Vorgang dazwischen zurückgibt.
Das Verhalten leitet sich direkt aus den Anforderungen des Hardware-Selbsttests des P8000-Monitors ab.




Zitat:

Der UA858D des P8000 liest beim Auslesen einen Wert zurück, der um eins kleiner ist als die Anzahl der übertragenen Bytes. Diese Eigenheit ist in p8k_dma_device innerhalb von p8k.cpp implementiert, welches byte_counter() überschreibt.

Belege: Die Zilog Z80 DMA Produktspezifikation besagt lediglich, dass „die tatsächliche Anzahl der übertragenen Bytes um eins größer ist als die durch die Blocklänge spezifizierte“ und dass die programmierte Blocklänge um eins kleiner ist als die gewünschte Länge. Der Wert, den der Bytelenzähler beim Lesen zurückgibt, wird dort nicht beschrieben. Ähnlich wie beim CTC basiert das Verhalten auf den Erwartungen des P8000-Selbsttests, weshalb es im P8000-Treiber gekapselt bleibt.


--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 15.10.2026 um 08:55 Uhr von Olli editiert.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
15.10.2026, 10:45 Uhr
P.S.



@Olli
Da gibt's eine ausführliche "Befehlsbeschreibung zum U880-System" vom FWE - habe ich leider nicht. Das ist eine dicke A4-Bibel, ähnlich der zum GDC U82720D ... die hat jetzt HeikoS.

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer nur glaubt, der weiß nichts! -
Aber - Unwissenheit schützt vor Strafe nicht! -
Gegen KI und die Ausgrenzung von Unwissenden und
für den Erhalt eigener Intelligenz, sowie ein liberalisiertes
Urheber-, Marken- und Persönlichkeitsrecht!
PS
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
15.10.2026, 11:18 Uhr
Enrico
Default Group and Edit



Zitat:
Olli schrieb
Moin,

so - meine MAME Emulation des P8000 funktioniert. Sogar inkl. RTC. habe den U130 emuliert, da der nunmal wenn eine RTC ist die Wahl war in einem Originalsystem. WEGA Bootet, login klappt.... alles fein.

Ich musste neben anderen Anpassungen an Z80 Komponenten die wirklich Bugs in MAME waren 2 Anpassungen an der Z80 DMA und Z80 CTC machen die "DDR spezifisch" zu sein scheinen.....


Kann eigentlich nicht sein...


Zitat:

Ich bräuchte bitte einmal die Datenblätter zu den U857 und UA858. Bitte wenn es mehrere Varianten gibt die "ausführlichste" - gerne eine die OCR im Bauch hat - das erleichtert mir das suchen ungemein



https://www.tiffe.de/Robotron/Bausteinuebersicht/
--
MFG
Enrico
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
15.10.2026, 12:03 Uhr
kaiOr

Avatar von kaiOr


Zitat:
Olli schrieb
// Einige CTC-Klone (z. B. der U857D im P8000) geben beim Auslesen
// nach einem Software-Reset die Zeitkonstante zurück und nicht den eingefrorenen
// Abwärtszähler (Down-Counter).

Das haben wir (jmueller, lötspitze, ich etc.) schon direkt und indirekt getestet. Auch die Zilog CTC bleibt nicht einfach stehen, sondern läd die programmierte Zeitkonstante.

Die einzige PDF, die das halbwegs darlegt:

Zitat:
https://www.ecworld.ru/media/museum/Z80_ctc.pdf

S.37 (PDF S.44) - Generierung STOP-Signal mit FF8
S.38 (PDF S.45) - "Note that bits 1 and 3 are not stored conditions."
S.44 (PDF S.51) - "In both the counter and the timer mode the down counter is loaded when it reaches a zero count or when the channel stops counting or timing. Transistors 86 through 90 generate the load DC signal whenever STOP or TO1 = 1."


Zur DMA kann ich nix sagen.

Grüße,
Kai
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
15.10.2026, 17:15 Uhr
olliy



Hi Olli

Zitat:
Olli schrieb
Ich bräuchte bitte einmal die Datenblätter zu den U857 und UA858. Bitte wenn es mehrere Varianten gibt die "ausführlichste" - gerne eine die OCR im Bauch hat - das erleichtert mir das suchen ungemein



Hab ich mal von der google KI digitalisieren lassen:
https://github.com/olliy78/k1520emu/blob/main/doc/trascripted/CTC_U875D.md
https://github.com/olliy78/k1520emu/blob/main/doc/trascripted/DMA_U959D.md nicht verwirren lassen: Dateiname ist falsch. Da hab ich mich wohl vertippt.

Ich hab auch ne funktionierende C++ Umsetzung davon, wenn du die gebrauchen kannst.
https://github.com/olliy78/k1520emu/tree/main/core/primitives

VG
Olaf

Dieser Beitrag wurde am 15.10.2026 um 17:17 Uhr von olliy editiert.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
15.10.2026, 17:27 Uhr
Olli

Avatar von Olli

Wow - super. Danke Euch! Ich denke, ich werde die CTC Logik dennoch als "nur für die P8000" in MAME umsetzen. Da gibts um die 100 Emulationen welche die heutige Logik nutzen - die kann ich unmöglich testen, ob das aktuell "falsche" Verhalten aber bei den Emulationen genau gebraucht wird....

die DMA Lösung habe ich auch erstmal so umgesetzt, dass die nur für die P8000 aktiv wird.

Ansonsten.... bin ich denke ich so gut wie durch mit der P8000-Emu in MAME. Noch ein bisschen Feinschliff, und dann muss ich mir überlegen wie ich das als Pull-Request einstelle bei denen....
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
21.10.2026, 16:48 Uhr
Olli

Avatar von Olli

Seit 5 Tagen ist der Mame-Port fertig - Ende der Woche will nochmal jemand mit ziemlich viel Mame und Z8000 Know How drüber schauen. Ich hoffe Anfang nächster Woche kann ich dann die Pull-Requests in Mame veröffentlichen.

Ansonsten... ich (bzw) die KI ist gerade dabei WEGA komplett in C-Code zurück zu übersetzen. Einige kleiner Programme sind schon fertig. Der Assembler auch schon. Aktuell bin ich am C-Compiler. Es entstehen auch immer Versionen im aktuellen C, dann hat man auch direkt einen Cross-Compiler auf modernen Systemen.

Ziel ist, WEGA so wie es in 3.1 ausgeliefert wurde Bytegenau aus Sourcen generieren zu können. (Das bedarf dann z.B. auch verschiedene C-Compiler, da die Binaries mit unterschiedlich alten C-Compiler generiert worden - Zilog hat nicht für jedes Release alles neu compiliert - leider)

Danach würde ich dann ein WEGA 3.2 releasen mit Bugfixes und Software die noch um 1990 im EAW geschrieben wurde (z.B. sa.diags mit Tests der WDOS Karte, pburn 2.6 usw.).

Danach plane ich das "letzte" ZEUS zurück zu übersetzen und auf WEGA zu portieren. Das wird dann denke ein 3.3.

Und wenn das durch ist...... TCP/IP, Pseudo-Terminals, Telnet, FTP, SLIP

Dann eine echte Netzwerkkarte..... Boot und Betrieb von SD-Karte direkt am Bus (und nicht mehr über die PIO).
Achja - irgendwann zwischendurch auch noch den WDC-Emulator für meine S8000...


So.... ich habe erstmal fertig geträumt
Mal sehen wie weit ich mit der KI komme und wie mein Zeitbudget in den nächsten Jahren aussieht
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000

Dieser Beitrag wurde am 21.10.2026 um 16:49 Uhr von Olli editiert.
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
21.10.2026, 18:35 Uhr
Enrico
Default Group and Edit



Zitat:
Olli schrieb
Ansonsten... ich (bzw) die KI ist gerade dabei WEGA komplett in C-Code zurück zu übersetzen. Einige kleiner Programme sind schon fertig. Der Assembler auch schon. Aktuell bin ich am C-Compiler. Es entstehen auch immer Versionen im aktuellen C, dann hat man auch direkt einen Cross-Compiler auf modernen Systemen.



Ist es denn nciht langweilig , wenn die KI alles amcht?
Da fehlt doch das Erfolgserlebnis...



Zitat:

Dann eine echte Netzwerkkarte..... Boot und Betrieb von SD-Karte direkt am Bus (und nicht mehr über die PIO).
Achja - irgendwann zwischendurch auch noch den WDC-Emulator für meine S8000...




Hatten wir doch vor 10 Jahren schon durch.
16Bit WIZNET, oder der ISA IC.

Hau blos mit SD-Karte ab.
Da gehört gehört SCSI rein. Anständige Rechner haben sowas...
--
MFG
Enrico
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
21.10.2026, 20:33 Uhr
Olli

Avatar von Olli

SCSI ist tot... wenn man da schon was modernes einbaut um eben keinen Stress mit "bekommt man nicht mehr" zu haben baue ich ja nicht die nächste tote Technologie ein.
Was ist schlimm an SDCard? Einfach zu beschaffen, mega easy anzusteuern.... man könnte auch über USB reden - aber da braucht man dann schon wieder einen USB-Controller.... alles unnötig kompliziert.

Bzgl. Netzwerk - ja - wird vermutlich sowas was früher ne2000 war oder so - man muss schauen was man gut noch bekommt heutzutage. dadurch dass der komplette TCP/IP Stack im Kernel abgebildet wird (geklaut von BSD) passt ne "echte" Netzwerkkarte eigentlich schon ganz gut

Aber.... das ist ja alles auch noch mega Zukunftsmusik

Und bzgl. KI - das ist ja nun auch nicht so, das man da gar nichts mehr macht. Mal davon ab - ohne KI ist das mehr als nur ein Lebensprojekt. Das würde ich einfach gar nicht mehr angehen. Nur mal ein Beispiel: der Assembler ist compiliert 89KB groß. Um die 35tsd Assembler Mnemonics umfasst das decompilierte Listing. Der wiederhergestellt C-Quellcode umfasst ca 7500 Zeilen Code....wie lange soll man da dran sitzen als einzelner Mensch - auch noch so, das er ein Byteidentisches Binary erzeugt.... das sind mehr als nur Jahre (jedenfalls für mich)....
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
21.10.2026, 21:28 Uhr
Enrico
Default Group and Edit



Zitat:
Olli schrieb
SCSI ist tot... wenn man da schon was modernes einbaut um eben keinen Stress mit "bekommt man nicht mehr" zu haben baue ich ja nicht die nächste tote Technologie ein.



Naaa guttt...
Ist aber systematisch passender...


Zitat:

Was ist schlimm an SDCard? Einfach zu beschaffen, mega easy anzusteuern.... man könnte auch über USB reden - aber da braucht man dann schon wieder einen USB-Controller.... alles unnötig kompliziert.
.



Ist doch eine ziemliche Bitschubserei, und sowas mit der Z8001?

Ok, dann eben IDE passt besser ,da 16BIt, dadurch schneller, mit DMA.
--
MFG
Enrico
 
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
21.10.2026, 22:38 Uhr
Olli

Avatar von Olli

IDE/PATA ist doch genauso tot Mit dem richtigen Microcontroller kann die SDCard auch SDIO was je nach Karte über 100 MB/sec bringen kann (natürlich mit der entsprechenden micro-C power). Die wollen wir ja gar nicht erreichen - ich meine nur, es muss ja kein SPI sein.

ist aber eh noch Zukunftsmusik - da bin ich noch lange nicht... ich hab nur mal laut gedacht.

Braucht dann vor allem auch neue Firmware, neue Kerneltreiber usw... man will ja schon davon booten können.
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
 
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