Posts by sirius1victor9000

    X 04 : wrong_track: requested track <> header track


    Nach schneller Durchsicht des BootROM Codes passiert das wenn Track 0 nicht gefunden wird. Das ist zu erwarten wenn eine Diskette im falschen Format eingelegt ist.


    Anbei die X Fehlercodes:


    ;

    ; errors generated by the floppy device driver . . .

    ;

    ;

    no_sync equ 01h; no sync

    no_header_id equ 02h; header id didn't follow sync

    header_checksum equ 03h; header checksum error

    wrong_track equ 04h; requested track <> header track

    wrong_sector equ 05h; no match on sector - error count expired

    no_data_id equ 06h; data id didn't follow header

    data_checksum equ 07h; data checksum error

    long_sync equ 08h; sync present too long

    door_opened equ 09h; door opened during operation

    gcr_error equ 0Ah; gcr error

    bad_dun equ 20h; invalid device/unit field in lrb

    bad_da equ 21h; invalid sector address in lrb

    no_system equ 99h; floppy label indicates no O/S on disk

    Guten Morgen allerseits,

    nach langer Zeit melde ich mich mal wieder zu Wort... :)

    Das Vicki Diskettenformat ist identisch mit dem Sirius 1/Victor 9000. Meiner Kenntnis nach gab es den Vicki nur in der Konfiguration 2x1.2MB, also mit jeweils 2 Schreib-/Leseköpfen.


    Das Format ist also identisch, allerdings wurde der Diskettencontroller komplett überarbeitet und ist nicht kompatibel mit dem im Sirius verbauten Typ. Da beide Systeme mit einem Software-BIOS arbeiten, das mit dem eigentlichen Betriebssystem zusammengelinkt ist, kann man den Vicki nicht mit einer Sirius-Bootdiskette starten, obwohl der Vicki sie technisch lesen kann. Das Bootrom des Vicki würde das System inkl. BIOS noch ins RAM bekommen, aber spätestens wenn das System versucht auf den Diskettencontroller zuzugreifen (z.B. COMMAND.COM laden) würde es abstürzen.


    Insofern kann man Bootdisketten für den Vicki auch problemlos mit jedem Sirius 1 erstellen, solange man dafür sorgt, dass man mit dem SYS Kommando ein Vicki-spezifisches OS schreibt.


    Ich habe vor ein paar Jahren mal eine kleine Sirius Disk Format Quick Reference_2017.xlsx mit den wichtigsten Daten zum DIskettenformat erstellt. Enthält das Format für SIngle und Double Sided, Rotationsgeschwindigkeiten, GCR+Sector Format (incl. Checksum) sowie Bootsector Struktur. Ich hoffe das hilft euch weiter.


    Ich lebe seit einigen Jahren in Malaysia und komme nur noch selten dazu mich um meinen Sirius in Deutschland zu kümmern, aber ich versuche mich jetzt wieder häufiger in die Diskussionen einzuschalten :)


    Viele Grüße,

    Axel

    OT, aber trotzdem interessant:


    Die Story zu der Festplattenunterstützung in MS-DOS kommt übrigens von Chuck Peddle selbst. Interessantes Podcast Interview abrufbar unter:
    http://www.theamphour.com/241-…ic-chipmaking-coryphaeus/
    bzw.
    http://traffic.libsyn.com/thea…cChipmakingCoryphaeus.mp3




    Quote

    "When Sirius included a 5 MB hard drive, Gates said he couldn’t do MS DOS on the new machine. Sirius did it and added it as a contribution to DOS (Dave thought it was v2). "

    Hallo,
    grundsätzlich funktioniert das Erstellen einer Systemdiskette wie bei jedem anderen MS-DOS Rechner. Allerdings leicht unterschiedlich je nach Version. Mit FORMAT und dann SYS (bzw. manchmal auch SYSCOPY genannt) oder bei neueren Versionen geht teilweise auch FORMAT mit /S als Parameter. Oder auch DISCCOPY und dann den unnötigen Ballast löschen. Voraussetzung ist natürlich, dass man die entsprechenden Tools auch auf der Diskette zur Verfügung hat.


    Zum Versionswirrwarr:
    MS-DOS 1.25 war die erste OEM-Version von MS-DOS für nicht IBM-Rechner. Die Bezeichnung 2.61 auf der Diskette bezieht sich nicht auf MS-DOS sondern auf die BIOS-Version. Beim Sirius ist das BIOS per Software implementiert und Bestandteil des Betriebssystems. Die Version 1.25 wurde meines Wissens mit BIOS-Versionen von 2.5 bis 2.71 ausgeliefert. Meistens wurde das dann als auf den Disketten mit Version "1.25/2.61" bezeichnet. Ab DOS Version 2.11 wurde 2.9x als BIOS verwendet (2.8 habe ich noch nie gesehen), ab DOS 3.1 dann BIOS 3.0x.


    Kleine Info am Rande. Die erste MS-DOS Version, die Festplatten unterstützte war nicht wie landläufig angenommen DOS 2.x sondern Sirius MS-DOS 1.25, allerdings nicht von Microsoft programmiert sondern von Sirius selbst. Die Festplattenversion des Sirius kam vor dem XT mit Festplatte auf den Markt und da MS-DOS damals keine Festplatten unterstützt hat, musste Sirius das Problem selbst lösen und hat die notwendigen Treiber und Erweiterungen selbst programmiert und eingebunden. Teile des Codes sind dann später von Microsoft in Version 2.0 integriert worden, die dann Festplatten unterstützt hat. Da DOS 1.x keine Unterverzeichnisse unterstützt, wurden die Platten damals meistens in diverse kleine Partitionen à 1 oder 2 MB aufgeteilt. Entsprechend gab es Config-Dateien, die mittels AUTOSET.EXE die Partitionierung vorgenommen haben: z.B. 2AND8X1.CFG = 1 x 2MB Sytem + 8 x 1MB Daten mit Laufwerksbuchstaben bis J... Durch die Festplattentreiber ist das System+BIOS auf >64kB angewachsen, weshalb diese Versionen nicht auf alten Floppy-Maschinen mit P1 Bootrom laufen. Die HD-Rechner wurden mit einem angepassten Bootrom ausgeliefert (noch kein Universal Bootrom, das kam erst später).


    Zum Format:
    Wie schon geschrieben gibt es SS und DS Versionen des Sirius mit 600 bzw. 1200 kB. Single Sided Disketten können von beiden gelesen werden, Double Sided nur in den DS Laufwerken. Im Gergensatz zum IBM-Format werden die Seiten nacheinander beschrieben und nicht Spur für Spur abwechselnd. Aufgezeichnet wird mit GCR und unterschiedlichen Rotationsgeschwindigkeiten, dadurch sind auf DD Disketten so hohe Kapazitäten möglich (Offizielles Format ist DD 96 TPI). IBM hat 1,2MB dann später mit dem AT bei konstanter Rotation und HD Disketten erreicht. Die Zonenaufteilung beim Sirius ist auf Ober-und Unterseite der DS Disketten auch noch unterschiedlich... Alles in allem ein sehr komplexes Format. Einzige Chance da etwas mit anderen Laufwerken zu lesen ist mit spezieller Hardware. Mit Kryoflux und PC klappt Raw-Auslesen ganz gut, es gibt aber (bisher?) keinen Konverter. Theoretisch wäre also auch das Schreiben von Sirius Disketten mit Kryoflux möglich. Discferret habe ich leider nicht, dort steht in der Doku, dass es einen Sirius Konverter dafür gibt.


    Systemdisketten kann ich gerne auch zur Verfügung stellen. Sobald man eine inkl. SYS.EXE (am Besten 2.11) hat und Daten vom PC auf den Sirius übertragen kann, sollten auch das Erstellen anderer Versionen kein Problem sein.


    Viele Grüße,
    Axel

    Irgendwo habe ich glaube ich auch eine Beschreibung der Slots. Werde demnächst mal wühlen...


    Mein "Produktivsystem" läuft übrigens mit Vollausbau 896 kB, voll nutzbar (256 kB on board + 512k + 128k + DMA + Xebec HD Controller)! :)


    Womit auch hoffentlich das weit verbreitete Gerücht der 640 kB-Grenze von DOS widerlegt wäre. Das liegt am Aufbau des IBM-PC und nicht an MS-DOS. IBM hat halt schon ab A0000 Mapping betrieben, im Sirius wird der Adressbereich ab E0000 für Hardwaremapping verwendet. In der vollen Ausbaustufe kann man damit sogar recht weitreichende IBM-Kompatibilität mit Emulatoren erreichen, die dann den Speicherbereich ab B0000 bzw. B8000 für Video reservieren und per TSR an F0000 übersetzen. IBM BIOS wird dann ebenfalls per Software emuliert, einzig direkte Hardwarezugriffe per IN/OUT funktionieren nicht. Dafür gab es meines Wissens aber Erweiterungskarten, die alle I/O Port Zugriffe abgefangen haben und per Interrupt an eine Software-Routine weitergereicht haben.



    Ich werde sicher noch viele Fragen hier haben - mein Background ist eben das ich den Sirius nicht von früher kenne, sondern die Maschine für mich neu ist. Hat mich aber schon lange interessiert, daher freue ich mich jetzt mal damit beschäftigen zu können.

    Immer her mit den Fragen. Ich freue mich über jede Diskussion zu dem Thema :)
    Vielleicht sollten wir demnächst auch mal einen Thread zum Softwaretausch starten, damit die vielen funktionsfähigen Sirius/Vicki auch ordentlich genutzt werden können...

    Hallo,
    die Wahl des Erweiterungsslot ist normalerweise unwichtig. Ich hatte zumindest noch nie Schwierigkeiten, egal wo ich Karten platziert habe. Bei deiner Karte deutet tatsächlich vieles auf einen RAM-Fehler hin. Es gibt beim Sirius ja keine CMOS-Einstellung, DIPs oder Ähnliches bezüglich der RAM-Größe. Das wird alles durch testweises Schreiben pro 64kB Speicherblock vom Boot ROM ermittelt. Bei defekten RAM-Bausteinen kann das dazu führen, dass ein Bereich einfach nicht als RAM erkannt wird.


    Unwahrscheinlich, aber doch möglich wäre natürlich auch, dass an den DIP-Schaltern etwas verstellt wurde.


    Gruß,
    Axel

    Super! Einen Sirius haut so einfach eben nichts um :)


    Also technisch müsste der Rechner auch mit F3F7 laufen. Wenn der Chip im anderen Rechner bootet, kann es eigentlich nur an den Jumpern liegen. Evtl. muss man sich den Schaltplan auch nochmal genau anschauen, ob die Einstellungen mit dem 64kBit ROM wirklich passen. Kann man auf dem anderen Board dazu etwas erkennen?


    Gruß,
    Axel

    Hallo,
    man müsste prüfen an welcher Adresse das ROM in einen Loop geht, bzw. falls es ein Universal ROM ist, welcher Wert auf den I/O Bus gesendet wird (mit OUT DX=0FFFFh,AL). Wenn der Rechner in einer solchen Schleife hängt, müssten regelmäßige Muster auf A0-A19 bzw. D0-D7 zu erkennen sein, die man dann auswerten kann. Da du selber ROMs brennst, wäre natürlich auch eine Möglichkeit sich schnell ein eigenes Diagnose ROM zusammenzubasteln, das z.B. über die LEDs an den Diskdrives (als eine Art Morsecode o.ä :) ) eine Statusmeldung gibt, falls kein Signal auf dem Monitor erzeugt werden kann. Allzu aufwendig sollte das im ersten Schritt nicht sein.
    Leuchten die LEDs mit dem neuen ROM eigentlich immer noch nach dem Einschalten? Welche ROM Version verwendest du im Moment?


    Gruß,
    Axel

    Habe mir das mit dem Jumper gerade nochmal angeschaut. Bist du dir sicher, dass das so richtig ist? Wenn ich das richtig interpretiere, hast du anstatt der zwei 2732 a 4KB jetzt einen 8KB. Die alternativen Jumper auf dem Schaltplan sprechen aber von 64K. Könnte es sein, dass das ROM dann bei Adresse F0000 platziert wird? Dann kann es eigentlich nicht funktionieren. Oder bin ich gerade komplett auf dem falschen Dampfer?

    Die vielen Interessierten hier im Forum haben mich motiviert endlich einen schon lange geplanten Blog über den Sirius zu starten.


    http://sirius1victor9000.blogspot.de/



    Dort habe ich unter anderem ein paar Schematics hinterlegt. Ich bin mir nicht sicher, ob die schon alle bekannt bzw. vorhanden sind. Aber in jedem Fall sollten sie hilfreich sein. Seite 16 enthält auch den 8088.


    Im Falle eines Universal ROM Fatal Error Loop, wird übrigens immer mit DX=FFFF auf den I/O Port geschrieben. AL enthält dann den Fehlercode.

    Denke auch,dass irgendwas noch nicht stimmt. Die Dips regeln einerseits die startadresse und andererseits die Bestückung. Wenn mehr ram auf der Karte ist, könnte die Bestückung noch nicht richtig eingestellt sein. Wenn es wirklich die Karte ist wäre das pin 5 bis 7. Bzw. 4 bis 6 wenn man wie ein Informatiker von null los zählt ;)

    Der Vollständigkeit halber auch noch Sirius Keyboard bzw. Floppy ROMs.


    Ergänzende Info zu den obigen Boot ROMs:
    P1 ist bei den Sirius 1 am weitesten verbreitet und das einzige ROM, das nur Betriebssysteme <64k laden kann
    Die HD Version hat diese Einschränkung schon nicht mehr.


    Die Universal ROMs können so ziemlich alles booten: Floppy, HD, Netzwerk, Serial Port (!)


    Versionskennzeichen befindet sich bei den Universals immer an FFFF:000A bis FFFF:000B als little endian 16-bit Eintrag (bzw. 1FFFA in den Dateien).
    FxF3=Sirius 1/ Victor 9000
    FxF2=Vicki
    Fx ist jeweils die Versionsnummer. Bisher dachte ich, dass 3.7 die letzte Version war (erzeugt F3F7 und F2F7). Da Georgs Vicki ein F2F8 hat, müsste es eigentlich auch ein F3F8 für den Sirius geben.


    Laut Doku gibt es auch noch folgende Versionskennzeichen:


    AAAA--for floppy-only ROMs (So ein ROM habe ich nie gesehen)
    01FF--for floppy/hard disk ROMs (Das P1 Floppy ROM hat diese Kennzeichnung, insofern stimmt das nicht mit der Doku überein)
    F1F1--for the diskless NetWork Station (habe ich ebenfalls nie gesehen und wusste auch nicht, dass es so eine Maschine gab. Eventuell nur im Entwicklungsstadium?)


    Ansonsten gibt es noch verschiedene ISSUE ROM Versionen, die auf dem Universal ROM aufbauen.
    Für den Victor Sirius VI müssen ebenfalls verschiedene ROMs existieren.

    Wenn es hilft, kann ich auch den kommentierten Original-Source Code vom 3.6 Universal Boot-ROM zur Verfügung stellen. P1-ROM liegt mir nur Binary vor, das ist deutlich simpler und weniger aussagekräftig was Fehlermeldungen angeht gestrickt. Den groben Ablauf findet man hier
    http://www.actsirius1.co.uk/pages/rom.htm


    http://www.actsirius1.co.uk/pages/tech/appo.htm



    Im Universal werden zuerst BT1INIT.ASM (ganz hinten ist "jmp far ptr reset_code" an FFFF:0) und dann BT1BASE.ASM ausgeführt (beim Vicki VCKINIT.ASM). Code ist relativ gut dokumentiert.



    Ich bin übrigens an allen Boot-ROMS für den Sirius bzw. Vicki interessiert. Ich selbst habe Univ. 3.6 (Source+Bin), Univ. 3.7 (Bin), P1 Floppy, P1 HD. Ich würde mich über weitere Binaries freuen (z.B. ISSUE ROMs, oder auch ROMs vom Victor/Sirius VI).


    Edit:


    Zu den LEDs: die LEDs werden über einen der drei 6522 gesteuert. Der muss dafür nicht initialisiert werden, die LEDs sind direkt mit je einem Pin des 6522 verbunden, also muss zumindest ein Zugriff auf einen der 6522 erfolgreich gewesen sein.

    Edit2:
    Die Suche nach ROM-Erweiterungen dient zur Identifizierung von Diagnose-Karten, die früher vom Field Service genutzt wurden. Die haben sich auf D0000 gemappt und dann bei der Fehlerbehebung/-suche geholfen. Sobald an D0000 ein ROM gefunden wird verzweigt das BootROM sofort dorthin.