Robotrontechnik-Forum

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

Robotrontechnik-Forum » Technische Diskussionen » A7100 Emulator » Themenansicht

Autor Thread - Seiten: -1-
000
03.04.2014, 01:26 Uhr
Madir



Hallo zusammen!

Nachdem andere bereits ihre Emulatoren vorgestellt haben, bin auch ich endlich soweit meinen A7100 Emulator zu präsentieren.

Gegenwärtig arbeite ich aber noch an einer Homepage um ihn für alle verfügbar zu machen. Wer ihn testen möchte meldet sich bitte bei mir. Wenn ihn jemand übergangsweise zum Download anbieten kann wäre mir das noch lieber.

Der Emulator kann schon einiges an A7100 Software ausführen hat aber natürlich auch noch einige Bugs und Erweiterungsbedarf. Vor allem die Emulation der KGS Grafik bereitet mir derzeit Kopfzerbrechen.

Anbei noch ein paar Screenshots:

Fertiger ACT Test:


Text 40:


Tabcalc M16:


SCP 2.2 / Power:


Castle:


Pascal:

Dieser Beitrag wurde am 03.04.2014 um 01:28 Uhr von Madir editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
03.04.2014, 06:42 Uhr
Mobby5



Hübsch.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
03.04.2014, 08:30 Uhr
holm

Avatar von holm

Platz auf meiner Datenhalde kann ich Dir anbieten, schreib mir mal ne Mail an holm@freibergnet.de

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
03.04.2014, 22:31 Uhr
Madir



Ich habe ein wenig Bedenken bezüglich Diskettenabbildern und ROMS beim Erstellen der Homepage. Wie ist da die Lage im abmahnverrückten Deutschland?

Ich nehme an die Lage bei den EPROM Abbildern ist ziemlich entspannt?!? Gabs diesbezüglich schonmal Probleme?

Schwieriger stelle ich mir das bei Diskettenabbildern vor. Im wesentlichen lässt sich dies ja in drei Gruppen teilen:
1. Software von Robotron: SCP, Tabcalc, Text40, Schach, Gedit, Systemtools...
2. Angepasste Software: Wordstar, Turbo Pascal, DBase
3. Software von Hobbyprogrammierern: Wall, Castle,...

Zu was würdet ihr mir raten? Was kann man auf der Homepage anbieten ohne eine Einladung für Abmahner mitzuliefern?

Dieser Beitrag wurde am 03.04.2014 um 22:32 Uhr von Madir editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
03.04.2014, 22:39 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
Madir schrieb
Was kann man auf der Homepage anbieten ohne eine Einladung für Abmahner mitzuliefern?



Ohne explizite Genehmigung gar nichts.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
03.04.2014, 22:42 Uhr
Madir




Zitat:
Rüdiger schrieb

Zitat:
Madir schrieb
Was kann man auf der Homepage anbieten ohne eine Einladung für Abmahner mitzuliefern?



Ohne explizite Genehmigung gar nichts.



Grundlegend ist das auch meine Befürchtung...

Würdest du dies auch über die EPROMS von ZVE/KGS sagen? Ohne diese ist der Emulator logischerweise komplett nutzlos!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
04.04.2014, 17:53 Uhr
Madir



Danke an Holm!
Der Emulator kann ab sofort unter http://www.tiffe.de/Robotron/MMS16/A7100-Emulator geruntergeladen werden. Zum Ausführen wird JAVA ab Version 1.7 benötigt. Alles weitere findet sich in der readme.txt. Viel Spaß beim Testen!

Es kamen auch schon einige Anfragen bezügich Quelltext. Dieser wird zu einem späteren Zeitpunkt zur Verfügung gestellt werden. Zunächst muss jedoch noch ein wenig Refactoring betrieben werden. Außerdem sind noch einige halb fertige Implementierungen vorhanden, welche ich vorher beenden will.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
04.04.2014, 18:20 Uhr
PeterSieg



Vielen Dank!

Peter
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
04.04.2014, 19:01 Uhr
Mobby5



Hab auch gleich mal ein bisschen "gespielt". Hier mal ein paar Problemchen, die gleich ins Auge gefallen sind:
Wenn ich auf Geräte-Laufwerk-Laden klicke, tut sich lange nichts mehr, bis irgendwann das Datei-Auswahl-Fenster erscheint. Nach Emulator-Reset sind die eingelegten Disketten wieder "draussen".

CPU-Auslastung ist ständig bei 100%, auch wenn man nix weiter macht. Getestet auf WinXP mit 3Ghz
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden

Dieser Beitrag wurde am 04.04.2014 um 19:03 Uhr von Mobby5 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
04.04.2014, 19:24 Uhr
Madir




Zitat:
Mobby5 schrieb
Hab auch gleich mal ein bisschen "gespielt". Hier mal ein paar Problemchen, die gleich ins Auge gefallen sind:
Wenn ich auf Geräte-Laufwerk-Laden klicke, tut sich lange nichts mehr, bis irgendwann das Datei-Auswahl-Fenster erscheint. Nach Emulator-Reset sind die eingelegten Disketten wieder "draussen".

CPU-Auslastung ist ständig bei 100%, auch wenn man nix weiter macht. Getestet auf WinXP mit 3Ghz



Hmm, diese Probleme habe ich bisher weder auf meinem Desktop noch auf dem Notebook feststellen können. Dort läuft der Emulator eher schneller als der A7100. Ich denke auch das beide Probleme mit der CPU-Auslastung zusammenhängen. Nichts weiter tun heist für den Emulator ja dennoch die Instruktionen abarbeiten. Besonders im SCP sind das einige Codezeilen die da ständig durchgejagt werden.

Hast du den Debugger aktiviert? Dieser ist ziemlich ressourcenhungrig. Ansosnten ist Performance sicherlich noch nicht optimal und wird in folgenden Versionen noch zu steigern sein. Ich werde das ganze mal auf meinem Netbook testen und nochmal per Profiler schauen was sich tun lässt.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
04.04.2014, 19:44 Uhr
Mobby5



Habe nichts weiter aktiviert, sondern einfach nur getstartet und Disketten "rein". Läuft bei mir auch langsamer als "in echt". Auf meinem Win7 habe ich ihn noch nicht getestet. Die fast 100% Auslastung sind auch ohne Boot von Diskette schon da.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
05.04.2014, 11:18 Uhr
Madir




Zitat:
Mobby5 schrieb
Habe nichts weiter aktiviert, sondern einfach nur getstartet und Disketten "rein". Läuft bei mir auch langsamer als "in echt". Auf meinem Win7 habe ich ihn noch nicht getestet. Die fast 100% Auslastung sind auch ohne Boot von Diskette schon da.



Hab gestern nochmal drüber nachgedacht: Die Schleife welche den Prozessor emmuliert läuft so schnell sie kann. Selbst ohne Booten von Diskette führt die CPU ja ständig Befehle aus. Und das eben so schnell wie möglich. Das führt zur vollen Auslastung der CPU auf welcher der Thread läuft.
Vermutlich hat dein Testsystem nur einen Kern. Ab Core 2 und Co. merkt man dieses Problem nicht mehr, da eben nur einer der Kerne vollständig ausgelastet wird. Wenn du unter Emulator->Pause wählst sollte die Last sofort sinken.
Da hilft nur die CPU künstlich zu bremsen (werde ich bei Gelegenheit implementieren) allerdings macht es das ganze bei dir dann noch langsamer...

Das mit den Disketten raus nach Reset war durchaus so beabsichtigt, denn dieser Befehl soll wirklich den Emulator zurücksetzen und nicht den Reset-Knopf des A7100 nachbilden (die Funktion fehlt noch). Deswegen funktioniert auch BREAK nach TONE noch nicht.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
05.04.2014, 19:59 Uhr
Mobby5



Ja, der XP-Rechner ist nur ein SingleCore.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
13.04.2014, 17:35 Uhr
Madir



unter http://a7100emulation.npage.de/ gibt es ab sofort eine Mini-Homepage des Emulators. Dort können dann zukünftige Versionen heruntergeladen werden. Außerdem gibt es eine aktuelle Liste zur Softwarekompatibilität. Die Downloads enthalten wegen der unklaren Lizenzlage jedoch keine Diskettenabbilder oder EPROMS.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
23.06.2014, 13:24 Uhr
utsch



Hallo Madir,

erstmal vielen Dank für die bisherige Arbeit am A7100 Emulator!
Es wäre super wenn es analog zum Export von Dateien aus dem Image eine Möglichkeit zum Import von Dateien in ein Image gäbe. Ist sowas für die (hoffentlich) nächste(n) Version(en) geplant?
Auch das erkennen und arbeiten mit dem SCP-Diskettenformat 780k wäre wünschenwert.

VG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
25.06.2014, 20:55 Uhr
Alex-70



Der Trick ist, daß man schnell genug das SCP-Boot-Image laden muß bevor der ACT durch ist.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
26.06.2014, 11:36 Uhr
chiaki

Avatar von chiaki

Wie bist du an den Emulator rangegangen?
Wie viel Stunden Arbeit steckt schon dahinter?
Ist es geplant den Quellcode zu veröffentlichen?

Dieser Beitrag wurde am 26.06.2014 um 11:38 Uhr von chiaki editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
26.06.2014, 14:15 Uhr
funkheld



----------------------------------------
Die Schleife welche den Prozessor emmuliert läuft so schnell sie kann. Selbst ohne Booten von Diskette führt die CPU ja ständig Befehle aus.
----------------------------------------

Das müßte doch in den Griff zu bekommen sein?
Sollte nicht sein, das die CPU im Leerlauf läuft bis sie Kotzt.

Gruss
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
26.06.2014, 18:55 Uhr
Mobby5



Doch, die läuft immer gleich schnell. Da gibt es noch kein Energiemanagement.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
27.06.2014, 21:45 Uhr
Madir




Zitat:
utsch schrieb
Hallo Madir,

erstmal vielen Dank für die bisherige Arbeit am A7100 Emulator!
Es wäre super wenn es analog zum Export von Dateien aus dem Image eine Möglichkeit zum Import von Dateien in ein Image gäbe. Ist sowas für die (hoffentlich) nächste(n) Version(en) geplant?
Auch das erkennen und arbeiten mit dem SCP-Diskettenformat 780k wäre wünschenwert.

VG



Ich habe bis Anfang Mai an der Version 0.7 gearbeitet. Hab aber momentan wenig Zeit dafür.
Diese unterstützt Teledisk, Imagedisk und Catweasel-Dateien. Auch kann man die Parameter der Diskette (Tracks, Sektoren, etc.) beim Laden definieren.
Das Einfügen von Dateien ist durchaus implementierbar. Ich Setze es auf die TODO Liste.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
27.06.2014, 21:45 Uhr
Madir




Zitat:
Alex-70 schrieb
Der Trick ist, daß man schnell genug das SCP-Boot-Image laden muß bevor der ACT durch ist.



Oder man bootet per "b" aus dem Monitorprogramm.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
27.06.2014, 21:54 Uhr
Madir




Zitat:
chiaki schrieb
Wie bist du an den Emulator rangegangen?
Wie viel Stunden Arbeit steckt schon dahinter?
Ist es geplant den Quellcode zu veröffentlichen?



Naja begonnen hab ich mit der Emulation der CPU, das heißt also Opcodes aus dem Speicher lesen, decodieren und entsprechende Befehle ausführen. Das war mit Abstand die meiste Arbeit. Vor allem das Suchen nach Fehlern, wenn es um Speichersegmente, Flags, IRQs oder ähnliches geht. Manche kleine Fehler kosten da schon mehr als 50h Arbeit.
Insgesamt ist der Zeitrahmen kaum einzuschätzen. Hab seit 2011 mal mehr und mal weniger intensiv daran gearbeitet. Es hat allerdings ca. 1 Jahr gedauert bis das erste Zeichen des ACTs ausgegeben wurde. Danach hab ich mich so lange durch den ACT gewühlt bis alle Tests fehlerfrei waren. So gings dann mit Software unter SCP weiter.

Es ist durchaus vorgesehen den Quellcode zu veröffentlichen allerdings zu einem späteren Zeitpunkt!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
27.06.2014, 22:09 Uhr
Madir




Zitat:
funkheld schrieb
----------------------------------------
Die Schleife welche den Prozessor emmuliert läuft so schnell sie kann. Selbst ohne Booten von Diskette führt die CPU ja ständig Befehle aus.
----------------------------------------

Das müßte doch in den Griff zu bekommen sein?
Sollte nicht sein, das die CPU im Leerlauf läuft bis sie Kotzt.

Gruss



Ich arbeite gerade daran den Emulator in "A7100 Geschwindigkeit" laufen zu lassen, dann sinkt auch die Auslastung der CPU auf welcher der Emulator läuft. Auf einem aktuellen Multicore System stellt das jedoch nach meiner Meinung ohnehin kein Problem dar.
Die CPU des A7100 führt, wie Mobby bereits anmerkte, aber weiterhin ständig Befehle aus.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
27.06.2014, 22:35 Uhr
Olli

Avatar von Olli

Wenn die Befehle im "Leerlauf" in nem loop ausgeführt werden, macht es Sinn vor jedem Durchlauf ein paar ms zu warten - das senkt den CPU Bedarf ungemein und fällt kaum auf....
--
P8000 adventures: http://pofo.de/blog/?/categories/1-P8000
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
024
28.06.2014, 10:07 Uhr
Madir




Zitat:
Olli schrieb
Wenn die Befehle im "Leerlauf" in nem loop ausgeführt werden, macht es Sinn vor jedem Durchlauf ein paar ms zu warten - das senkt den CPU Bedarf ungemein und fällt kaum auf....



Leider ist weder die Monitor Software noch SCP so effizient programmiert, dass es mit HLT arbeitet. Es werden tatsächlich durchweg Befehle zum prüfen der Eingabepuffer etc. durchgeführt. Um jeden Befehl abzubremsen bleiben bei 4Mhz ja bis zur Echtzeit eher ein paar ns bis wenige µs. Und das ist in JAVA nicht wirklich gut zu implementieren. Momentan bin ich zum Testen auch eher froh, dass der Emulator "rennt". Es ist auch tatsächlich nur auf Single-Core-Prozessoren ein Problem.

Ich arbeite aber wie gesagt bereits an einer Synchronisation. Die wartet dann bei jedem Aktualisieren des Bildschirms falls zu wenig Zeit verstrichen ist. Damit hat sich das Problem dann geklärt.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
025
28.06.2014, 10:21 Uhr
Alex-70



@madir:
Zitat:
Oder man bootet per "b" aus dem Monitorprogramm



Oder so, aber das wäre ja zu einfach
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
026
15.07.2014, 14:11 Uhr
Madir



Eigentlich wollte ich noch ein paar weitere Dinge implementieren. Aber da besonders wegen den Diskettenabbildern mehrere Nachfragen kamen gibts ab sofort die Version 0.6.20 zum Download auf http://a7100emulation.npage.de. Diese unterstützt Teledisk-, Imagedisk- und Catweasel-Abbilder.

Da ich immer noch einiges an Dokumenten benötige enthält die readme.txt einen Abschnitt Unterstützung (hier wird kein Geld gesammelt!!!). Wer die dort gelistete Literatur/Software hat bitte dringend bei mir melden. Dies würde die Arbeit deutlich beschleunigen.

An neuer getesteter Software ist MUTOS 1700 zu erwähnen. Dies kommt zumindest ein bisschen im Boot-Prozess vorran. Wartet dann aber auf einen Interrupt der nie kommt:
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
027
12.12.2014, 19:49 Uhr
utsch



Hallo Madir,

gibt es mal wieder eine neuere Version vom A7100 Emulator - vielleicht auch mit
der Möglichkeit zum Import von Dateien? Man könnte den Import ja in ein
leeres Image ermöglichen, auf das man dann im Emulator zugreifen kann (Laufwerk B).

VG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
028
14.12.2014, 09:15 Uhr
Madir



Ich arbeite bereits seit längerem an der nächsten Version. Für diese wird aber das komplette System ABG/KGS umgestellt. Damit werden dann auch Grafikanwendungen möglich sein. Die Emulation des UA880 funktioniert aber noch nicht vollständig, deswegen lässt die neue Version noch etwas auf sich warten. Da diese Änderung tiefgreifend im System ist, sind auch Zwischenversionen nicht möglich.

Ich habe mir auch den Import von SCP-Dateien schon angeschaut. Es gibt aber noch ein paar Parameter im FCB bei welchen ich mir nicht ganz über die Bedeutung im Klaren bin. Ich werde dazu noch untersuchen müssen, wie SCP neue Dateien anlegt.

Hier aber mal ein kleiner Vorgeschmack (Teils funktionierender Gedit M/16 Startbildschirm):

Dieser Beitrag wurde am 14.12.2014 um 09:24 Uhr von Madir editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
029
14.12.2014, 10:36 Uhr
ADDERLY



@Madir,
Das ist wirklich eine Menge an Arbeit die Du da vor Dir hast, aber Hochachtung.
Den EMU hab eich jetzt sehr lange hier am Laufen und es macht immer noch spass damit zu arbeiten.
Schoen das die eizelnen Programme aus den Diskettenarchiven extrahierbar sind, so das ich sie direkt am A7100 testen kann (Edit, WordStar, Spiele....) die hatte ich noch nicht in der Version fuer SCP1700.
Wie war das mit dem Programm GEdit/M16, muessen beim A7100 vorher nicht Steuerprogramme fuer den Grafikmodus geladen werden ?
Die Programme gelten ja fast als ausgestorben, zu mindest habe ich GEdit/Grafik-M16 noch nicht live in Aktion gesehen.
Bin begeistert, Gute Arbeit mit dem EMU.
--
Gruss Frank

"Lieber Gott,: Bitte schmeiss Hirn vom Himmel; ...oder Steine, Hauptsache Du triffst Jemanden !..."
...und 'ne Tuete Schweineohr'n
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
030
14.12.2014, 11:45 Uhr
Madir




Zitat:
ADDERLY schrieb
Wie war das mit dem Programm GEdit/M16, muessen beim A7100 vorher nicht Steuerprogramme fuer den Grafikmodus geladen werden ?


Genau. Zuerst muss die Firmware in den RAM des KGS geladen werden. Und dann SCP-GX in den Hauptspeicher. Dies gilt für alle Grafikprogramme (zumindest unter SCP).
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
031
19.12.2014, 01:52 Uhr
Madir



Manchmal geht es schneller als man denkt...
Hatte die letzten Tage ein wenig Zeit mich um den Emulator zu kümmern. Nachdem ich ein falsch gesetztes Flag bei der Subtraktion in der UA880 CPU entdeckt hatte liefen die Grafikkommandos deutlich besser.
Damit ist es Zeit für eine neue Version. Es ist die v0.7.90. Eigentlich sollte es V0.8.00 werden, aber die Synchronisation zwischen Haupt CPU und Grafik-Subsystem ist immer noch nicht fehlerfrei. Dies wird man schnell merken, wenn man Gedit starten will... Grafik M16 funktioniert dafür ziemlich gut.
Auch das SCP-Disk-Tool wurde überarbeitet und unterstützt nun wie gewünscht das Einfügen von Dateien.
Weiterhin können nun während der Laufzeit zwei Hacks, das Emulatorverhalten ändern. Dies ist für das Ausführen bestimmter Programme momentan noch erforderlich, soll aber so schnell wie möglich entfernt werden. Für weitere Informationen schaut ihr am besten in die readme.txt.

Wie immer findet ihr die neue Version unter http://a7100emulation.npage.de/ und wie immer liegen, um Lizenzproblemen jeder Art aus dem Weg zu gehen, keine EPROMS oder Diskettenabbilder bei... Bei Fragen am besten per Mail an mich wenden.

Auch zu dieser Version gibt es noch keine Quellcodes. Vermutlich aber zur nächsten größeren.

Dieser Beitrag wurde am 19.12.2014 um 02:04 Uhr von Madir editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
032
03.07.2015, 18:56 Uhr
utsch



Hallo Madir,

ist denn wieder mal eine neue Version vom A7100 Emulator in Sicht?
Wünschenswert wäre das man auch von einem CP/K RAW-Image (780k: 5x1024x80, Bootspur 16x128) booten könnte. Besonderheit gegenüber SCP1700: das Betriebssystem liegt bei CP/K komplett in den Systemspuren der Diskette.
Auch eine Statusanzeige oben oder unten über die in den Emulator eingelegten Imagedateien (A: xyz.bin B: 123.bin) wäre gut.

VG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
033
05.07.2015, 09:29 Uhr
Madir




Zitat:
utsch schrieb
Hallo Madir,

ist denn wieder mal eine neue Version vom A7100 Emulator in Sicht?
Wünschenswert wäre das man auch von einem CP/K RAW-Image (780k: 5x1024x80, Bootspur 16x128) booten könnte. Besonderheit gegenüber SCP1700: das Betriebssystem liegt bei CP/K komplett in den Systemspuren der Diskette.
Auch eine Statusanzeige oben oder unten über die in den Emulator eingelegten Imagedateien (A: xyz.bin B: 123.bin) wäre gut.

VG



Ja die nächste Version ist schon länger in Arbeit. Sie behebt einige kleinere Bugs und enthält viele Erweiterungen im SCP-Disk Tool. Es ist noch ein Fehler in BASIC aufgetaucht. Diesen versuche ich schon mehrere Wochen zu beheben. Ich denke wenn dies geglückt ist wird das nächste Release kommen.
Statusleiste (auch zum Anzeigen von Run/Halt und CPU Last) ist schon länger in Planung. Das wird es aber nicht in die nächste Version schaffen.
CP/K-Images habe ich bisher noch keine. Könntest du mir entsprechende per Mail zukommen lassen? Dann würde ich mir das mit dem booten anschauen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
034
09.07.2015, 00:34 Uhr
Holger König



Gibt es Anbieter für kostenlose (werbefinanzierte) Domain-Namen? Wenn ja, könnte man über den Speicher bei einem Freemail-Anbieter (GMX, WEB.DE, Arcor o.ä.) eine Hompage für den Download unter Pseudonym errichten und diese mit einem ebenfalls unter Pseudonym beschafften, werbefinanzierte (und damit kostenlosen) Domain-Namen verlinken. Dann könnten Abmahner nur ins leere hinein abmahnen, ohne den Eigentümer der Hompage zu kennen. Und von wegen Verbindungsdaten, man richte eine solche Hompage einfach vom WLAN des nächsten Shopping-Centers her ein.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
035
17.07.2015, 19:16 Uhr
utsch



Hallo Madir,

schau mal in deine PN.

Wäre es machbar den A7100 Emulator auch als Android App (apk) zu erstellen?

VG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
036
27.07.2015, 00:50 Uhr
Madir



Es gibt endlich eine neue Version v0.8.40 auf http://a7100emulation.npage.de/. Ich habe den lang gesuchten Fehler gefunden. Ich hatte nur die Operanden bei CMPS verdreht. Die Suche danach hat mich allerdings viele Stunden gekostet...

Neben kleineren Bugfixes wurde vor allem die Performance im Vergleich zur v0.7.90 deutlich erhöht. Weiterhin sind einige fehlende ABG Features wie Blinken und Splitscreen überarbeitet. Auch das SCP-Disk Tool hat einige Neuerungen wie beispielsweise eine Datenbank um die vorhandene SCP Software mit den eigenen Diskettenabbildern abzugleichen. Alles Weitere wie immer in der readme.txt.

Als kleinen Bonus habe ich mich entschlossen das Projekt ab sofort unter der GNU General Public License Version 3 weiterzuführen. Das heißt nun ist der Quellcodes zum Einsehen und Modifizieren für alle verfügbar. Ich werde die Entwicklung dennoch in eigener Regie fortführen. Wer aber Fehler im Quellcode findet sollte sich schnell bei mir melden. Ich habe versucht die Kommentare für das Verständnis des Quellcodes zu vervollständigen. Das ganze ist ein Netbeans Projekt, welches ihr mit Version 8.0.2 laden könnt.


Zitat:
utsch schrieb
Wäre es machbar den A7100 Emulator auch als Android App (apk) zu erstellen?


Ich fürchte das führt mit JAVA zu einigen Schwierigkeiten. Aber wer es versuchen möchte, die Quellen sind ja nun zugänglich. Ich selbst habe keine Android Geräte und werde deshalb vorerst nicht in diese Richtung entwickeln.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
037
11.08.2015, 22:45 Uhr
Madir



Diesmal ging es deutlich schneller! Die neue Version 0.8.45 ist auf http://a7100emulation.npage.de/ verfügbar. Kleineres Update mit großer Wirkung. So wurden einige kleine Fehler behoben und Implementierungen ergänzt. Damit läuft im Emulator CP/K (vielen Dank an utsch für Images und Informationen). Außerdem ist nun Gedit M/16 in allen getesteten Versionen stabil ausführbar.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
038
12.08.2015, 19:20 Uhr
kaiOr

Avatar von kaiOr

Hallo und vielen Dank!

Ich kenne den A7100 nur vom Weiten, das macht den Emulator um so interessanter. Aber natürlich fällt dann die Unterscheidung schwer, was ist nun original und was nicht. Bis sich der ACT meldet vergehen auf meiner Kiste (Opteron + SSD, 8 Jahre alt) etwa 24Sekunden, ist das normal, bzw. haben die damals der Bildschirm-Aufwärmzeit Rechnung getragen? Oder brauch ich mal was "Neues"?

MfG

Dieser Beitrag wurde am 12.08.2015 um 19:53 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
039
12.08.2015, 22:24 Uhr
Madir




Zitat:
kaiOr schrieb
Hallo und vielen Dank!

Ich kenne den A7100 nur vom Weiten, das macht den Emulator um so interessanter. Aber natürlich fällt dann die Unterscheidung schwer, was ist nun original und was nicht. Bis sich der ACT meldet vergehen auf meiner Kiste (Opteron + SSD, 8 Jahre alt) etwa 24Sekunden, ist das normal, bzw. haben die damals der Bildschirm-Aufwärmzeit Rechnung getragen? Oder brauch ich mal was "Neues"?

MfG



Nach wie vor ist der Emulator so ausgelegt, dass er so schnell wie möglich und nicht so nah wie möglich an der Orginalzeit läuft. Ich wollte dass schon länger in Angriff nehmen, hab es aber noch nicht umgesetzt. Da es ja wenig auf Echtzeit ankommt (bis auf die wenigen Spiele vielleicht) sehe ich das momentan aber als nicht so dringend an.
Zum Vergleich:
Der Original A7100 braucht 14s bis zur ersten Ausgabe und 33s bis ACT Complete. Auf meinem Desktop PC sind es 5s bis zur Ausgabe und 9s bist Complete. Für einen flotteren Betrieb wäre etwas "Neues" also hilfreich.
Alternativ kann ich dir die Version 0.6.20 Empfehlen, dort fehlt die Emulation des UA880 Subsystems von KGS/ABG. Mit nur einem Prozessor der emuliert werden muss läuft das ganze dann deutlich schneller: Bei mir 2.5s bis Start und 4.5 bis Complete. Ist dann eben aber weniger original!

Dieser Beitrag wurde am 12.08.2015 um 22:26 Uhr von Madir editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
040
02.06.2016, 01:52 Uhr
Michael.Scholz



Hi,

gibt es doch noch irgend eine Chance, an die EPROMs des A7100 zu gelangen?


Gruß,

Micha
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
041
02.06.2016, 10:08 Uhr
wpwsaw
Default Group and Edit


Hallo,

ich habe heute mal den Anlass genutzt die Version 0.8.45 zu testen. Leider bleibt das Fenster schwarz.

der Rechner hier hat WIN7 Enterprise. Ich bin dann rückwärts gegangen und ab 06.20 funktioniert es wieder.

woran kann das liegen. Wozu ist die Datei System.dbd?

Gruß
wpw
--
RECORD, CRN1; CRN2; PicoDat; LC80; Poly880; KC85/2,3,4,5 ; KC87; Z1013; BIC; PC1715; K8915; K8924; A7100; A7150; EC1834; und P8000 ab jetzt ohne Tatra813-8x8 aber mit W50LA/Z/A; P3; ES175/2 und Multicar M25 3SK; Barkas B1000 HP
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
042
04.06.2016, 10:57 Uhr
Madir



Vorab etwas allgemeines zum Status des Emulators:
Ich hatte deutlich früher eine neue Version des Emulators geplant. Leider stellt sich das ganze KES Subsystem als recht schwierig umsetzbar heraus. Besonders die Implementierung des DMA, die Simulation einer echten Floppy aus den Images und die Wechsel des MMS16 Busmasters bereiten hier und da noch Probleme. Es wird aber kontinuierlich an der nächsten Version gearbeitet!

@wpwsaw:
Hast du bei Version 0.8.45 lang genug gewartet? Da die Versionen ab 0.7.90 die KGS emulieren, dauert es es deutlich länger als bei vorherigen Versionen bis eine erste Bildschirmausschrift erfolgt.

Du kannst auch mal das Programm von der Kommandozeile aus starten und schauen, ob eine JAVA Fehlermeldung auf der Konsole ausgegeben wird.

Die Datei system.dbd beinhaltet die Prüfsummen und Dateiinformation für das SCP-Disk-Tool. Hat mit dem eigentlichen Emulatorbetrieb nichts zu tun und könnte sogar gelöscht werden.

Gruß
Dirk
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
043
04.06.2016, 11:04 Uhr
holm

Avatar von holm

@Madir: Ich habe einen 7100 und ich habe Deinen Emulator noch nie ausprobiert, aber ich ziehe den Hut vor der Leistung diese vergriesgnaddelte Architektur softwaremäßig nachbauen zu wollen / zu können!

Tut mir leid, mußte mal raus :-)

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
044
04.06.2016, 19:47 Uhr
wpwsaw
Default Group and Edit


Danke Dirk,

ich muss mich den Worten von Holm anschließen. Es ist gewaltig, was du da gemacht hast. Übrigens, ich habe auch einen A7100 zum Echttest.

Achso, nach mehreren Minuten tat sich immer noch nichts. Ich werde das aber heute Abend mal auch mit anderen testen.

Gruß

wpw
--
RECORD, CRN1; CRN2; PicoDat; LC80; Poly880; KC85/2,3,4,5 ; KC87; Z1013; BIC; PC1715; K8915; K8924; A7100; A7150; EC1834; und P8000 ab jetzt ohne Tatra813-8x8 aber mit W50LA/Z/A; P3; ES175/2 und Multicar M25 3SK; Barkas B1000 HP
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
045
04.06.2016, 22:02 Uhr
wpwsaw
Default Group and Edit


Hallo Dirk,

habe es auf meinem Notebook probiert (WIN7 home premium 64 bit), genau wie auf Arbeit. Das Fenster öffnet sich ohne Ausgabe. In der Eingabeaufforderung meldet sich nach Programmaufruf der Cursor zurück ohne Fehlermeldung.

Gruß
wpw
--
RECORD, CRN1; CRN2; PicoDat; LC80; Poly880; KC85/2,3,4,5 ; KC87; Z1013; BIC; PC1715; K8915; K8924; A7100; A7150; EC1834; und P8000 ab jetzt ohne Tatra813-8x8 aber mit W50LA/Z/A; P3; ES175/2 und Multicar M25 3SK; Barkas B1000 HP
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
046
04.06.2016, 23:20 Uhr
Michael.Scholz



... oder welchen Chip muß ich auslesen, damit ich an den Urlader des A7100 komme?


Gruß,

Micha
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
047
05.06.2016, 01:06 Uhr
Enrico
Default Group and Edit


Die EPROMs auf der ZVE-Platine
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
048
05.06.2016, 10:13 Uhr
Madir



Noch mal was Allgemeines:
Ich habe die letzten Tage mal die Softwareversionierung etwas besser strukturiert. Dadurch wird es nun einfacher möglich kleinere Fehlerbehebungen und Features unabhängig von den großen Umbauten zu veröffentlichen. So wird es im Juni/Juli noch eine weitere Version, mit kleinen Bugfixes, besserem SCP-Disk-Tool und der Möglichkeit Copy-QM Images einzulesen, geben. Die KES wird in dieser jedoch weiterhin simuliert bleiben.

@wpwsaw:
Ich habe zum Testen auch WIN7 bzw. WIN10 und ein Linux im Einsatz. Vielleicht liegt es an der JAVA Version? Welche hast du installiert?
Schalte mal den Debugger für die ZVE oder KGS an und schaue, ob im Unterverzeichnis Debug entsprechende LOG-Dateien mit Inhalt gefüllt werden. Oder schau dir den Speicher an und prüfe ob irgendetwas außer den oberen 32K belegt ist/wird.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
049
05.06.2016, 12:22 Uhr
wpwsaw
Default Group and Edit


Java 7 Update 51 64 bit

log Dateien sind leer, Speicher ist leer

Gruß
wpw
--
RECORD, CRN1; CRN2; PicoDat; LC80; Poly880; KC85/2,3,4,5 ; KC87; Z1013; BIC; PC1715; K8915; K8924; A7100; A7150; EC1834; und P8000 ab jetzt ohne Tatra813-8x8 aber mit W50LA/Z/A; P3; ES175/2 und Multicar M25 3SK; Barkas B1000 HP
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
050
05.06.2016, 14:02 Uhr
Enrico
Default Group and Edit


Spasseshalber hatte ich mir nun doch noch die aktuelle Version gesaugt.
Hab aber keinen A7100 zum Vergleich.
Da kommt nun aber kein JAVA sondern eine EXE, die dann aber nach JAVA
verlangt.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
051
05.06.2016, 14:20 Uhr
Madir



Die EXE ist nur eine JAVA-Starthilfe. Probier mal bitte das ganze von der Kommandozeile mit "java -jar A7100Emulator.exe" zu starten. Vielleicht spuckt er ja dann eine Fehlermeldung aus! Ansonsten habe ich alle meine Systeme bereits auf JAVA 8 aktualisiert (Update 91 gegenwärtig).
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
052
05.06.2016, 14:48 Uhr
Enrico
Default Group and Edit


Ich krieg mecker, weil er den ROM nicht findet.
Der ANfang ist also schonmal da.
--
MFG
Enrico

Dieser Beitrag wurde am 05.06.2016 um 14:48 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
053
05.06.2016, 15:43 Uhr
wpwsaw
Default Group and Edit


er bringt jede menge Meldungen.





wpw
--
RECORD, CRN1; CRN2; PicoDat; LC80; Poly880; KC85/2,3,4,5 ; KC87; Z1013; BIC; PC1715; K8915; K8924; A7100; A7150; EC1834; und P8000 ab jetzt ohne Tatra813-8x8 aber mit W50LA/Z/A; P3; ES175/2 und Multicar M25 3SK; Barkas B1000 HP

Dieser Beitrag wurde am 05.06.2016 um 15:53 Uhr von wpwsaw editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
054
05.06.2016, 16:56 Uhr
Madir



Ok, dann liegt es wohl an Java 7! Die aufgerufene Methode "sort", gibt es laut http://docs.oracle.com/javase/8/docs/api/?java/util/LinkedList.html erst seit Version 1.8! Das klingt zumindest erstmal plausibel. In Version 0.6.20 gab es die UA880 Emulation mit diesem Befehl noch gar nicht. Deswegen funktioniert diese auch bei dir.

Java 7 ist aber ohnehin seit ca. einem Jahr ohne Support, ein Update ist da ja mal ganz sinnvoll.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
055
05.06.2016, 17:25 Uhr
Enrico
Default Group and Edit



Zitat:
Michael.Scholz schrieb
... oder welchen Chip muß ich auslesen, damit ich an den Urlader des A7100 komme?


Gruß,

Micha


http://www.tiffe.de/Robotron/MMS16/roms/
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
056
05.06.2016, 17:35 Uhr
Enrico
Default Group and Edit


Mal eben auf die Schnelle und zum Vergleich.
So fürchterlich reinhängen wollte ich mich da nun nicht.
Wird wohl das selbe Problem sein?


--
MFG
Enrico

Dieser Beitrag wurde am 05.06.2016 um 17:36 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
057
05.06.2016, 18:23 Uhr
wpwsaw
Default Group and Edit


Hallo Dirk,

habe eben auf Java8 umgestellet und läuft.

Dann werde ich morgen mal ein paar Disketten Testen.

Danke und Gruß
wpw
--
RECORD, CRN1; CRN2; PicoDat; LC80; Poly880; KC85/2,3,4,5 ; KC87; Z1013; BIC; PC1715; K8915; K8924; A7100; A7150; EC1834; und P8000 ab jetzt ohne Tatra813-8x8 aber mit W50LA/Z/A; P3; ES175/2 und Multicar M25 3SK; Barkas B1000 HP
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
058
06.06.2016, 16:12 Uhr
Michael.Scholz



Hi!

Vielen Dank allen Helfenden, jetzt kann ich endlich Castle zu Ende spielen... LOL

Der Emulator funktioniert bei mir mit NetBeans aus den Sourcen kompiliert auf einem MacBookPro. Super.


Gruß,

Micha
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
059
21.06.2016, 23:50 Uhr
Michael.Scholz



... kann man den Emulator eigentlich etwas 'ausbremsen'?


Gruß,

Micha
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
060
28.07.2016, 12:03 Uhr
Madir



Nach fast einem Jahr Pause ist nun die Version V0.8.90 des Emulators verfügbar.

Die wesentlichen Arbeiten des letzten Jahres, die KES-Emulation, haben es jedoch noch nicht in das Release geschafft, da mit ihnen gegenwärtig noch kein Betriebssystem geladen werden kann.

In Bezug auf Michas Frage:
Ein neues Feature ist die optionale Synchronisation mit der realen Zeit. Damit ist es auch auf schnellen Systemen möglich Spiele wie Castle zu verwenden.
Die Option findet ihr im Untermenü Emulator. Standardmäßig ist sie deaktiviert. Wenn man ca. 15s auf die erste Meldung des ACT warten muss kann man sich vorstellen wieso. Wer aber echtes A7100 Feeling möchte, kann dieses nun aktivieren.

Emulator-Zustände und Screenshots können nun mit beliebigen Dateinamen hinterlegt werden und die eingelegten Images werden in einer Statusleiste angezeigt. Vielen Dank an utsch für diese Anregungen.

Weiterhin wurde das SCP-Disk-Tool erweitert und ist nun deutlich flexibler was das Diskettenformat unterstützt und besitzt eine Datenbank mit mehr als 400 Einträgen über mir bekannte und offizielle Softwarekomponenten.

Den Download gibt es wie immer unter
http://a7100emulation.npage.de/

Aus rechtlichen Gründen leider immer noch ohne Software und EPROMS.

Zu guter Letzt möchte ich mich bei allen bedanken, die mich bisher bei der Arbeit am Emulator bisher unterstützt haben. Euer Feedback, die bereitgestellten Dokumentationen und Diskettenabbilder haben einen wesentlichen Anteil am Projekt. Ich hoffe, dass ich auch weiterhin mit der Unterstützung rechnen kann. Was am dringendsten benötigt wird steht wie immer in der readme.txt!

Gruß und Dank
Dirk
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
061
28.07.2016, 12:54 Uhr
wpwsaw
Default Group and Edit


Super, Danke für deine Bemühungen.

Gruß
wpw
--
RECORD, CRN1; CRN2; PicoDat; LC80; Poly880; KC85/2,3,4,5 ; KC87; Z1013; BIC; PC1715; K8915; K8924; A7100; A7150; EC1834; und P8000 ab jetzt ohne Tatra813-8x8 aber mit W50LA/Z/A; P3; ES175/2 und Multicar M25 3SK; Barkas B1000 HP
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
062
06.01.2024, 22:21 Uhr
c5n_g5a



Gibt es den Emulator noch? Ich würde mir gern mal ein paar Tabcalc Dateien ansehen.

Oder hat jemand einen Tipp, wie man solche Dateien öffnen kann?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
063
06.01.2024, 23:11 Uhr
c5n_g5a



Web Archiv hat mir verraten das der Emulator jetzt hier wohnt:
https://a7100-emulation.gitlab.io/
Da wäre dann wohl noch das Problem mit den Eproms?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
064
07.01.2024, 09:28 Uhr
Ordoban



die ROM-Images findest du hier: https://www.tiffe.de/robotron/MMS16/roms/
--
Gruß
Stefan
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
065
07.01.2024, 20:07 Uhr
c5n_g5a



Was ist eigentlich bei den Diskettenformaten das erwähnte SCP Standardformat?
Das was das Greaseweazle als img abspeichert?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
066
08.01.2024, 21:20 Uhr
Ordoban



Das mit dem "SCP Standardformat" bezieht sich wohl eher auf ein physikalisches Diskettenformat, nicht auf ein Dateiformat.
Der A7100-Emulator frisst Teledisk-Dateien (.td0) und Dateien mit reinen Sektordaten (.img). Bei den .img musst du beim Laden noch die physikalischen Disk-Parameter angeben.
Der Emulator hat einen Disk-Editor, mit dem man einzelne Dateien aus den Image-Dateien extrahieren oder einfügen kann.
Ein Teledisk-Image mit SCP1700 kann ich dir anbieten, allerdings nur per Mail, nicht als download.
--
Gruß
Stefan
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
067
10.01.2024, 19:48 Uhr
srmeister



Hallo,
ich habe den Emulator gerade entdeckt und ausprobiert, läuft soweit super, aber habe leider keine Disk-Images
Als Kind war das unser erster PC nachdem das Klinikum Erfurt den abgegeben hat(glaube 1990). Da haben wir Castle und vermutlich anderes gespielt. Vlt hat jemand Disk-images mit SCP und ein paar Spielen für mich. ROMs sind gefunden (danke Holm).

Viele Grüße,
Stefan

Dieser Beitrag wurde am 10.01.2024 um 19:49 Uhr von srmeister editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
068
13.01.2024, 17:41 Uhr
c5n_g5a



Ich jabe ihn auch ausprobiert, bekomme aber eine Java Exception. Mit welcher Java Version hast Du es ausprobiert?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
069
13.01.2024, 18:28 Uhr
Ordoban



Bei mir läuft das mit OpenJDK 11 oder Java 1.7.
Kannste die Exception mal posten?
--
Gruß
Stefan
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
070
13.01.2024, 19:14 Uhr
c5n_g5a



Jan 07, 2024 7:17:34 PM a7100emulator.components.system.GlobalClock run
INFORMATION: Globaler Zeitgeber gestartet
Exception in thread "Clock" java.lang.ArrayIndexOutOfBoundsException: -1280
at a7100emulator.components.modules.ABG.darkLine(ABG.java:623)
at a7100emulator.components.modules.ABG.updateScreen(ABG.java:528)
at a7100emulator.components.modules.ABG.updateClock(ABG.java:257)
at a7100emulator.components.modules.KGS.clockUpdate(KGS.java:595)
at a7100emulator.components.system.GlobalClock.updateClock(GlobalClock.java:133)
at a7100emulator.components.system.GlobalClock.run(GlobalClock.java:215)
habe es mit jdk 1.7, jre 1.8 und openjdk17 probiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
071
13.01.2024, 19:15 Uhr
c5n_g5a



Ich habe einge A7100 Floppys. Würde mich dann nochmal melden, wenn ich weiß welche geht.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
072
13.01.2024, 19:47 Uhr
Ordoban




Quellcode:

                // Gemischte Darstellung
                // Splitgrenze berechnen
                int splitline = split_register * 2 - 1;

                if (!continueSplit) {
                    // Darstellung Grafikbereich
                    for (int line = 0; line < splitline - 1; line++) {
                        for (int column = 0; column < 640; column += 8) {
                            updateGraphicsScreen(address, column, line, screenImage);
                            address = (address - 1) & 0x7FFF;
                        }
                    }
                    darkLine(splitline - 1, screenImage);
                } else {
                    // Darstellung Alphanumerikbereich




Quellcode:

    private void darkLine(int line, BufferedImage image) {
        int[] imageData = ((DataBufferInt) image.getRaster().getDataBuffer()).getData();

        for (int pixel = 0; pixel < 640; pixel++) {
            imageData[pixel + line * 640] = BLACK;
        }
    }



Wenn "split_register" 0 ist, dann wird "splitline" -1 und "darkLine" wird mit -2 aufgerufen. Das *640 gibt dann die "-1280" aus der Exception. Das liegt außerhalb der Array-Grenzen und löst die Exception aus.
Ich nehme mal an, dass das "split_register" normalerweise vom A7100 ACT(Bios) direkt nach dem einschalten auf einen Wert>1 gesetzt wird. Bei dir scheint der Screen-Refresh eher zu kommen.
Eine vorläufige Lösung wäre es, das split_register nicht mit 0, sondern was anderem zu initialisieren:

Quellcode:

    /**
     * Splitregister
     */
    private int split_register = 2;


Probier mal die JAR hier aus:
https://imoriath.com/downloads/privat/a7100/A7100_Emulator_hotfix_1.jar
--
Gruß
Stefan
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
073
13.01.2024, 20:01 Uhr
Ordoban



Es ist so, dass der Emulator alles andere als ausgereift ist. Der schmeißt gern mal Exceptions

Ich hatte versucht, damit ein längeres Pascal-Programm mit dem Digital Research MT+86 zu compilieren. Der Compiler selber scheint zu laufen, Wenn man dann aber versucht etwas zu Compilieren, dann meldet der einen "BDOS Error auf Laufwerk P:" (oder so ähnlich). Ich hab wirklich Stunden gesucht, hab alte Dokus von dem MT+86 gelesen, alles mögliche versucht. Nichts hat geholfen. Am Ende hab ich es auf dem echten A7100 versucht: da läuft das problemlos. (wenn auch vieeeeel langsamer)
--
Gruß
Stefan
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
074
13.01.2024, 21:09 Uhr
Madir



Schön zu sehen, dass der Emulator nochmal ausgegraben wurde. Ich habe da nun bald 5 Jahre nichts mehr daran programmiert. Zuletzt war die KES-Emulation in Arbeit aber ab dem Moment, wo man aus den Diskettenabbildern wieder FM und MFM codierte Binärfolgen machen musste um die Firmware angemessen zu füttern, wurde es echt ungemütlich. ABS und Ideen zum A7150 gabs auch.

Mittlerweile fehlt leider einfach die Zeit und nach so langer Pause müsste ich mich auch erstmal wieder einarbeiten.


Zitat:
Ordoban schrieb
Es ist so, dass der Emulator alles andere als ausgereift ist. Der schmeißt gern mal Exceptions



Mir fehlte es oft an Rückmeldung und an Software zum testen. Ich habe versucht alles, was ich von früher noch hatte (Castle, Gedit, Tabcalc, ...) ans laufen zu bekommen. Und das klappt ja in großen Teilen auch. Andere, mir fremde Programme, kamen dann erst nach und nach.

Solche bekannten Fehler könnte man aber auch heute gerne noch als Issue in GitLab melden. Und Programme und Diskettenabbilder nehme ich auch gerne noch immer. Denn ich habe mir zumindest fest vorgenommen da auch noch einmal wieder weiter zu machen.

Gruß
Dirk
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
075
13.01.2024, 21:51 Uhr
Ordoban




Zitat:
Madir schrieb
Zuletzt war die KES-Emulation in Arbeit aber ab dem Moment, wo man aus den Diskettenabbildern wieder FM und MFM codierte Binärfolgen machen musste um die Firmware angemessen zu füttern, wurde es echt ungemütlich.


Kann ich mir vorstellen. Man könnte eventuell den KES-Teil 0x0000-0x0FFF ordentlich simulieren, und die Modul-Teile 0x1000-0x1FFF, 0x4000-0x4FFF, 0x5000-0x5FFF faken. Fragt sich nur: wozu? Gab es tatsächlich Software, die die KES in dieser Tiefe genutzt hat?


Zitat:
Madir schrieb
Mir fehlte es oft an Rückmeldung und an Software zum testen. Ich habe versucht alles, was ich von früher noch hatte (Castle, Gedit, Tabcalc, ...) ans laufen zu bekommen. Und das klappt ja in großen Teilen auch.


Kenn ich. Solange alles läuft sagt keiner was. Auf die Dauer sehr demotivierend.


Zitat:
Madir schrieb
Solche bekannten Fehler könnte man aber auch heute gerne noch als Issue in GitLab melden.


Gut zu wissen. Darf es auch gleich mit Fix als Pull-Request sein?

Ich hab zum Beispiel mal die cpu-tests von https://github.com/davecom/DK86PC/tree/master/CPUTests auf den Emulator losgelassen. Der hat einige Fehler gefunden, die meisten davon hab ich gefixt, das Problem mit dem MT+86 hat das aber nicht gelöst.


Zitat:
Madir schrieb
Und Programme und Diskettenabbilder nehme ich auch gerne noch immer.


Außer SCP1700 und MUTOS hab ich nichts A7100 spezifisches. MT+86 und Turbo Pascal 3 sind generische CP/M86 Programme. (Die gibt es im Internet frei zum download)
--
Gruß
Stefan
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
076
13.01.2024, 23:26 Uhr
Madir




Zitat:
Ordoban schrieb
Kann ich mir vorstellen. Man könnte eventuell den KES-Teil 0x0000-0x0FFF ordentlich simulieren, und die Modul-Teile 0x1000-0x1FFF, 0x4000-0x4FFF, 0x5000-0x5FFF faken. Fragt sich nur: wozu? Gab es tatsächlich Software, die die KES in dieser Tiefe genutzt hat?


Da gab es auf jeden Fall einige Sprünge zwischen den Teilen, also auch kein schneller Weg. Ich hatte damals das Gefühl, das MUTOS an der KES-Simulation scheitert, ohne dass ich dies heute noch zusammen bekomme. Bei KGS hat das natürlich wirklich einen ganz anderen Einfluss. Aber zusätzlich war die vollständige Emulation immer das eigentliche Ziel, also möglichst ohne Kompromisse. Deswegen gibt es auch eine ZPS und eine angefangene ABS-Emulation, obwohl die natürlich keinen Vorteil gegenüber OPS / KGS bietet.


Zitat:
Ordoban schrieb
Kenn ich. Solange alles läuft sagt keiner was. Auf die Dauer sehr demotivierend.


Ich war eigentlich immer motiviert, aber man kann halt nichts testen, was man nicht hat.


Zitat:
Ordoban schrieb
Gut zu wissen. Darf es auch gleich mit Fix als Pull-Request sein?


Ja, aber ohne jegliche Garantie, dass da zeitnah etwas daraus wird.


Zitat:
Ordoban schrieb
Ich hab zum Beispiel mal die cpu-tests von https://github.com/davecom/DK86PC/tree/master/CPUTests auf den Emulator losgelassen. Der hat einige Fehler gefunden, die meisten davon hab ich gefixt, das Problem mit dem MT+86 hat das aber nicht gelöst.


Sehr cool! Kannst du grob skizzieren wie? Hast du die einzelnen .bin files auf die CPU losgelassen oder das tatsächlich unter SCP assembliert?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
077
14.01.2024, 08:44 Uhr
Ordoban




Zitat:
Madir schrieb
Da gab es auf jeden Fall einige Sprünge zwischen den Teilen, also auch kein schneller Weg.


Die KES-Firmware und die Modul-Firmware sind relativ gut voneinander getrennt. Die Einsprungpunkte und die Datenübergabe zu den Modulen sind in der Dokumentation genau definiert. Ich weiß das, weil ich für meinen IDE-Kontroller (CM1910) eine Modul-Firmware schreiben durfte. Im Moment bin ich dabei diesen IDE-Kontroller auf den A7100 anzupassen. Jea! Mehr Z80 Assembler!

Zitat:
Madir schrieb
Ich hatte damals das Gefühl, das MUTOS an der KES-Simulation scheitert, ohne dass ich dies heute noch zusammen bekomme.


Der Trap passiert irgendwo in der Initialisierung des Datenträger-Subsystems. Aber in den Quelltexten den MUTOS-Kernels (der auf den Disketten mit dabei ist!) sieht man, dass nur einfachen Disk-Operationen benutzt werden.

Zitat:
Madir schrieb
Bei KGS hat das natürlich wirklich einen ganz anderen Einfluss. Aber zusätzlich war die vollständige Emulation immer das eigentliche Ziel, also möglichst ohne Kompromisse. Deswegen gibt es auch eine ZPS und eine angefangene ABS-Emulation, obwohl die natürlich keinen Vorteil gegenüber OPS / KGS bietet.


Mit der KGS hab ich mich noch gar nicht beschäftigt. Diese "Can of Worms" mach ich später mal auf

Zitat:
Madir schrieb
Sehr cool! Kannst du grob skizzieren wie? Hast du die einzelnen .bin files auf die CPU losgelassen oder das tatsächlich unter SCP assembliert?


Ich lade nacheinander die original Binärdateien als ZVE-ROM (das musste ich auf 64k erweitern), starte die per Reset, warte bis die in Halt gehen, vergleiche dann die Ergebnisse mit den Vorgaben.
Das hat natürlich einen ganzen Haufen Stolperfallen. Z.B. Startet der 8086 bei F000:FFF0, und nicht wie bei dem Emulator bei FFFF:0000. Wenn an der Stelle ein Far-Jump steht (wie beim A7100-ACT) macht das keinen Unterschied. Die CPU-Tests haben dort aber Near-Jumps...
--
Gruß
Stefan
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
078
14.01.2024, 09:47 Uhr
c5n_g5a



Mit dem HF1 bekomme ich jetzt
Jan. 14, 2024 9:44:38 AM a7100emulator.components.ic.UA880 executeNextInstruction
SCHWERWIEGEND: Ungültiger oder nicht implementierter OPcode 0xED,0x6D an Adresse 1E32!

Kann das am ROM oder der System-Floppy liegen?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
079
14.01.2024, 10:25 Uhr
Ordoban




Zitat:
c5n_g5a schrieb
Mit dem HF1 bekomme ich jetzt
Jan. 14, 2024 9:44:38 AM a7100emulator.components.ic.UA880 executeNextInstruction
SCHWERWIEGEND: Ungültiger oder nicht implementierter OPcode 0xED,0x6D an Adresse 1E32!

Kann das am ROM oder der System-Floppy liegen?


Sieht fast so aus. Ich hab die eine PN geschickt.
--
Gruß
Stefan
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
080
14.01.2024, 13:26 Uhr
srmeister



Kurze Frage zu schach.cmd. Das zeigt bei mir zwar das Schachbrett aber keine Figuren an, das Spiel ist aber als kompatibel gelistet. Muss man da vorher irgendeinen Grafiktreiber laden?

Edit: Problem gelöst, auf der Diskette ist char.cmd, wenn man das vorher lädt läuft Schach wunderbar

Grüße

Dieser Beitrag wurde am 14.01.2024 um 13:27 Uhr von srmeister editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
081
14.01.2024, 17:31 Uhr
c5n_g5a



Mit dem richtigen EPROM's funktionierts!
Hier mal zum Vergleich die MD5 von meinen ROM's

cbeb972778b03f5460d931bc781d89e6 KGS-K7070-152.rom
d6ce405b0625e673a23c3fb2f671f6fa ZVE-K2771.10-259.rom
1c14d1e47da5e82656fe7559079bdaac ZVE-K2771.10-260.rom
540a0105b757ca17130ab9c85bc66a1e ZVE-K2771.10-261.rom
b1eb3d86c2e685382bb44da82e7afdb8 ZVE-K2771.10-262.rom
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
082
18.01.2024, 21:41 Uhr
Madir




Zitat:
Ordoban schrieb
Ich hab zum Beispiel mal die cpu-tests von https://github.com/davecom/DK86PC/tree/master/CPUTests auf den Emulator losgelassen. Der hat einige Fehler gefunden, die meisten davon hab ich gefixt, das Problem mit dem MT+86 hat das aber nicht gelöst.



Ich habe mir das mal angeschaut und auch einen JUnit Test geschrieben, um die Dateien automatisch durchlaufen und prüfen zu lassen. Eigentlich eine ziemlich gute Sache, leider aber nicht 8086 spezifisch. So sind beispielsweise die Flags 12-15 beim 8086 immer 1 und nicht 0, wie es die Tests erwarten. Auch AAA funktioniert anders ab dem 286er (Wenn auch nur für ungültige Operanden). Ob die emulierten Programme von diesen Feinheiten etwas merken ist schwer zu sagen, aber mit manchen der Fixes kommt man wieder etwas weiter weg vom 8086.

Ich habe mir vor Jahren mal eine hervorragende Referenz für die x86er geholt: "Die Intel-Familie" von Robert Hummel (ISBN 3-89362-807-X) . Da werden die ganzen feinen Unterschiede gelistet, kein anderes meiner x86 Bücher kann das, da die alle meist nur 386 und später betrachten. Die englische Variante gibts sogar online: https://archive.org/details/pc-magazine-programmers-technical-reference-1992

Aber ein paar Fehler bei ADC und ADD bspw. konnte ich damit schonmal identifizieren. Mal schauen, ob sich die Tests umschreiben lassen bzw. wie man die Ergebnissdateien anpasst.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
083
28.03.2024, 16:52 Uhr
Ordoban



Ich hab mich mal mit dem Emulator und MUTOS beschäftigt. Um MUTOS zum laufen zu bekommen gibt es 5 Probleme zu lösen:

1. Disk-Image
Das Einlesen des Disk-Images bringt eine Exception. Das liegt am Disk-Image, ich habe aber keine Möglichkeit das zu reparieren. Deshalb ein Patch im Emulator.

Quellcode:

diff --git a/src/a7100emulator/Tools/FloppyImageParser.java b/src/a7100emulator/Tools/FloppyImageParser.java
index 707820a..28e1e12 100644
--- a/src/a7100emulator/Tools/FloppyImageParser.java
+++ b/src/a7100emulator/Tools/FloppyImageParser.java
@@ -342,7 +342,7 @@

                     disk.checkAndAddDiskGeometry(cylinderNumber, headNumber, sectorNumber, sectorSizeBytes);

-                    if (!BitTest.getBit(flags, 5) && !BitTest.getBit(flags, 6)) {
+                    if (!BitTest.getBit(flags, 5) /*&& !BitTest.getBit(flags, 6)*/) {
                         int dataBlockSize = (buffer[pos++] & 0xFF) | ((int) buffer[pos++]) << 8;
                         int encoding = buffer[pos++];
                         switch (encoding) {


Danach bootet der zwar von Diskette, läuft aber beim Start in einen Trap.

2. Die KES-Initialisierung ist fehlerhaft.
Die echte KES liest beim ersten Wakeup nach dem Reset nur WUP und CCB ein, setzt dann das Fertig-Flag im CCB und sonst nichts. Der Emulator liest die ganze Kette bis zum IOPB ein, und führt diesen aus. Da zu diesem Zeitpunkt weder CIB noch IOPB initialisiert sind schlägt das Fehl, die Simulierte KES schreibt die Fehlernummer in den Hauptspeicher, und überschreibt damit irgendwas wichtiges vom MUTOS. Beim SCP erwischt der dabei anscheinend nichts wichtiges.

Quellcode:

diff --git a/src/a7100emulator/components/modules/KES.java b/src/a7100emulator/components/modules/KES.java
index 44a5f96..5f87b82 100644
--- a/src/a7100emulator/components/modules/KES.java
+++ b/src/a7100emulator/components/modules/KES.java
@@ -156,7 +156,6 @@
                 case 0x00:
                     // RESET_OFF
//                        System.out.println("RESET OFF");
-                    readWUB = true;
                     interruptWaiting = false;
                     break;
                 case 0x01:
@@ -165,6 +164,7 @@
                     startOperation();
                     break;
                 case 0x02:
+                    readWUB = true;  // WUB wird nur einmal nach dem Reset eingelesen
                     // RESET
//                        System.out.println("RESET");
                     break;
@@ -223,6 +223,8 @@
             int off = mms16.readMemoryWord(INIT_WUB_ADDRESS + 2);
             ccbAddress = (seg << 4) + off;
             readWUB = false;
+            mms16.writeMemoryByte(ccbAddress + 0x01, 0x00);      // nach Reset nur RDY-Flag setzen
+            return;                                             // sonst nichts, da CIB und IOPB moch nicht initialisiert sind.
         }
         for (int i = 0; i < 30; i++) {
             if (i < 16) {


Damit läuft der nicht mehr in den Trap, kommt aber immer noch nicht in den Login.

3. Die Tastatur-Initialisierung schlägt manchmal fehl.
MUTOS meldet beim Start Console Data 00D8 Timer 2 NOT found. und lädt in einer Endlosschleife Dateien von der Diskette.
Schaut man sich den MUTOS-Quelltext an, dann findet man das hier: (/usr/sys/io/cons_NOBIOS.c)

Quellcode:

    if(constyp != 5) {
        outb(cons->c_control,DTRON);
        delay(10);
        outb(cons->c_control,0);
        delay(10);
        outb(cons->c_control,SRESET);
        outb(cons->c_control,SMODE);
        outb(cons->c_control,0x17);
        if((inb(cons->c_control)&0xf) != 0x5)
            a = 0x0;
    }
    else {
        cons->c_control = cons->c_ocontrol;
        cons->c_data = cons->c_odata;
    }
    if(Stand == 0)
        printf("Console  Data  %x Timer %d %s.\n",cons->c_data,cons->c_tunit,a?"found":"NOT found");
    consali = a;


MUTOS resettet/initialisiert den UART zur Tastatur, und erwartet dann den Status "Sendebereit, Empfangsbuffer leer" (= 0x5). Durch den Reset des UART wird allerdings auch eine Aktion in der Tastatur ausgelöst, und die schreibt etwas in den Empfangsbuffer. Dadurch wird (inb(cons->c_control)&0xf) == 0x7, und MUTOS erkennt die Tastaur als fehlerhaft.
Das passiert nicht immer, sondern ist von mehreren Faktoren abhängig. Es macht z.B. einen Unterschied, ob 2 oder 3 OPS aktiviert sind, oder ob man beim Starten schnell genug das Disketten-Image auswählen kann oder mit "B" booten muss.
Einen wirklichen Fix für dieses Problem habe ich nicht gefunden, man kann aber auf die Boot-Meldung achten, und eventuell direkt nochmal von vorn beginnen.

Damit kommt man wieder ein Stückchen weiter, MUTOS gibt ein "s" aus, und hängt dann fest. Madir hatte schon in #026 geschrieben, dass MUTOS auf ein Interrupt wartet. Das kann ich bestätigen.

4. Keine Konsolen-Ausgabe
Bis zur Login-Meldung benutzt MUTOS eine kleine interne Ausgabe-Routine (mit Polling), danach den Konsolen-Treiber. Der Konsolen-Treiber verlangt nach jedem Zeichen ein Interrupt. Der quittiert den Interrupt im KGS aber nur gelegentlich, vermutlich wenn der Ausgabebuffer leer ist.
Ich verstehe nicht, wie das Interrupt-System beim MUTOS funktioniert. Ich denke, dass MUTOS einen Interrupt-Modus benutzt, den der Emulator nicht unterstützt. Level triggered mode? Edge triggered mode? Ich habe die Beschreibung vom 8259 gelesen, aber ich verstehe nicht alles.
Als eine vorläufige, aber inkorrekte Lösung hätte ich das hier:

Quellcode:

diff --git a/src/a7100emulator/components/ic/K580WN59A.java b/src/a7100emulator/components/ic/K580WN59A.java
index 39a49b5..887245f 100644
--- a/src/a7100emulator/components/ic/K580WN59A.java
+++ b/src/a7100emulator/components/ic/K580WN59A.java
@@ -202,6 +202,10 @@
             //System.out.println("Interrupt Anfrage " + id + " akzeptiert!");
             irr |= (1 << id);
         }
+        if (!BitTest.getBit(ocw1, 7) && id==2) {
+            irr |= (1 << 7);
+        }
     }

     /**


Dadurch wird immer, wenn ein Timer-Interrupt (2) ausgelöst wird, auch ein KGS-Interrupt (7) gesetzt. Das ist total bescheuert - aber funktioniert.
Jetzt kommt man bis zum single user login, danach hängt der wieder fest.

5. CPU-Bugs
Ich habe am letzten Stück eine ganze Weile gesucht. Schließlich bin ich auf die Idee gekommen, meine eigenen CPU-Bugfixes zu probieren:
https://gitlab.com/Stefan311/a7100-emulator/-/commit/5fc5728aa073e97645bcdf220366ed0366ed6214

Und siehe da: läuft.


Das ganze ist alles andere als perfekt. Durch den irren Interrupt-Hack ist die Textausgabe sehr langsam. Die Tastatureingabe ist auch nicht gut, der verliert oft Tasten.

Mein Ziel ist es MUTOS auf dem A7100 von der IDE-Festplatte booten zu lassen. Um den Bootprozess von MUTOS zu verstehen, und um IDE-Bootcode komfortabel testen zu können, ist der Emulator eine große Hilfe.
Der Emulator hat mir schon bei dem SCP-Bootcode sehr geholfen. Also einmal ein riesen Danke an Madir!
--
Gruß
Stefan
Seitenanfang Seitenende
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