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
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

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