Hallo,
auf die Gefahr hin mich mit etwas Offensichtlichen lächerlich zu machen:
Ich denke ich habe eine einfache Möglichkeit gefunden, Option ROMs auf einer Brückenkarte (hier speziell die A2286, sollte aber übertragbar sein) zu laden ohne diese vorher brennen zu müssen. Das erlaubt die verwendung großer Festplatten mit Hilfe des XTIDE bzw ATIDE BIOS an Standard Controllern ohne eigenes BIOS. Auch Option ROMs für SCSI Controller sollten sich so laden lassen:
Der Janus Handler selbst ist auch ein Option ROM. Er ist nicht fest im BIOS der Januskarte integriert. Er befindet sich auf der Amiga Seite in der Datei PC/System/pc.boot. Die ersten beiden bytes enthalten auch den Option ROM Header 0x55AA. Die Datei pc.boot lässt sich so einfach 1:1 durch einen Option ROM wie das XTIDE BIOS ersetzen. Dieser wird dann anstelle des Janus Handlers geladen.
Man kann aber auch beides haben: Die Option ROMs (Janus Handler und XTIDE BIOS) lassen sich über den JOIN Befehl der Workbench zu einer neuen pc.boot kombinieren:
Wichtig dabei ist dass das xtide BIOS zuerst kommt und dann der janus Handler. Das funktioniert da das PC BIOS in einem bestimmten Speicherbereich an 2k grenzen nach dem Option ROM Header 0x55AA sucht und so mehre ROMs erkenn kann. Bei mir hat es allerdings nur funktioniert wenn das ide_at BIOS vorne steht und der janus Handler hinten. Sonst wurde nur der Janus Handler geladen. Das IDE_AT BIOS hat nur 8KB und der Janus Handler hat 12kb. Ich vermute dieser ist so groß, dass er den zweiten ROM aus dem durchsuchten Bereich schiebt.
Wenn das AT_IDE BIOS allein geladen wird meldet es dass es an Adresse D400 gelandet ist. Mit dem Janus Handler dahinter ladet es an D700. Der Janus Handler scheint auch trotzdem zuerst geladen zu werden.
Getestet habe ich das ganze Momentan nur in WinUAE getestet, da ich gerade nicht an meinen Amiga komme..
Falls das jemand ausprobiert und auf Nebenwirkungen stößt würden mich diese interessieren.
Auch wenn sich jemand mit den Details von den Speicher Mappings vom Dual Ported RAM auskennt könnte er für mich etwas Klarheit in die Sache bringen:
Ich habe das jetzt so verstanden: mit der Adresse in PC Prefs stelle ich ein in welches Segment der x86 den "Janus Bereich" eingeblendet bekommt. Ist das der gesammte Dual Ported RAM? Nur die Option ROMs oder etwas mehr? Ich nehme an die Bereiche für die Framebuffer der der emulierten Videokarten sind fest, sonst würde man ja bei falsch eingestellten Bereich überhaupt nicht sehen und soweit ich weiß sollten deren Adressen beim normalen PC auch immer gleich sein.
Belegen die Option ROMs dauerhaft Dual Ported RAM oder werden diese umkopiert und der Speicher wieder freigegeben?
Oder ist die Logik um den Dualported RAM gar so schlau, dass sie eine Art Paging unterstüzt, also ein Teil des PC Adressraums auf einen Teil des Amiga RAMs mappt und falls ein ausschnitt davon gerade nicht im DP RAM ist, beim Zugriff ein Pagefault ausgelöst wird und etwas anderes verdrängt wird und der entsprechende Ausschnitt vom Amiga in den DP RAM kopiert wird?
Warum hat die 2088 eine höhere Adresse für den Janus Handler als die 2086 obwohl letztere mehr RAM hat?
Wenn ich mich mit dem segmentierten Speicher nicht vertue ist sollte es ja bei E000 So sein, dass noch genau Platz für die 128KB DP RAM ist. Hat die 2286 hier etwas anderes gemappt?
MfG Jan