NKC Forum |
Autor | Thema: Neues CP/M 2.2 für den NKC erstellen |
---|---|
m.haardt Voll in Gange ID # 93 |
Erstellt am 19. März 2017 14:06 (#1)
Zitat
PN E-Mail
Hallo,
hier eine neue Anleitung, die die bisherigen Anleitungen ersetzen soll. Wenn etwas nicht klar ist, sagt bitte Bescheid. Die finale Version wird Hans-Werner sicher ins Web übernehmen. Michael Traditionell wurde ein Abbild von CP/M 2.2 durch MOVCPM in die TPA geladen, wobei es durch Angabe einer Speichergröße in KByte für diese Menge an Speicher reloziert wurde. Danach wurde es mit SYSGEN auf die Systemspuren geschrieben. SYSGEN wurde vom Hersteller gerne für undokumentierte Besonderheiten des Systems angepasst und da macht der NKC keine Ausnahme. Darum war dieser Vorgang nicht gut verständlich, aber Digital Research lieferte nur das fertige System und keinen Quellcode, so dass es keine Alternative gab. Heute ist der Quellcode offen und es spricht viel dafür, das System komplett aus dem Quellcode zu bauen. Die einzelnen Teile werden dann in die TPA geladen, ähnlich wie MOVCPM das tut. Danach wird das Abbild mit SYSGEN auf die Systemspuren geschrieben oder mit SAVE in eine Datei gesichert. SYSGEN ist so klein, dass die TPA garantiert ab Adresse 0900h für das Systemabbild benutzt werden kann. Diese Ladeadresse ist so ziemlich das Einzige, was bei allen Versionen von SYSGEN gleich ist. Diese Tabelle zeigt, wo die Bestandteile des Systems später im Speicher stehen sollen und wohin sie für SYSGEN geladen werden: RAM SYSGEN Floppy 0FC00h 00900h Bootsektor 0F000h FLOMON (darum 60k CP/M) 0EA00h 01F80h BIOS (Länge 0600h) 0DC00h 01180h BDOS (Länge 0E00h) 0D400h 00980h CCP (Länge 0800h) Hier zeigt sich beim NKC eine Besonderheit für Floppies im Vergleich zu anderen Massenspeichern: Das SYSGEN80 des NKC erwartet zwar auch das Abbild ab 0900h, aber es schreibt nur die ersten 128 Bytes in den Bootsektor. Die Sektoren sind bei Floppies 1024 Bytes lang, aber im Speicherabbild beginnt CP/M bereits ab 0980h. Leider ging der Quellcode für SYSGEN80 verloren, der vielleicht dokumentiert, warum das so gemacht wurde. Möglicherweise hat es damit zu tun, dass der NKC ursprünglich 8" Laufwerke mit einer Sektorgröße von 128 Bytes benutzte. Die einzelnen Teile werden mit DDT geladen. DDT erlaubt die Angabe eines Offsets beim Laden von Dateien. COM Dateien haben die implizite Startadresse 0100h, zu der der Offset addiert wird. Bei HEX-Dateien wird der Offset mit der Startadresse in der HEX-Datei verrechnet: 0FC00h soll nach 0900h: 0900h - 0FC00h = 0D00h 0D400h soll nach 0980h: 0980h - 0D400h = 03580h Mit Hilfe der SUBMIT-Datei GENFLO.SUB wird die Systemgenerierung für Floppies automatisiert: XSUB DDT IBOOT80.HEX R0D00 IOS2CCP.HEX R3580 IOS3BDOS.HEX R3580 IPATCH.HEX R3580 ISERIAL.HEX R3580 IBIOS001.HEX R3580 G0 BOOT80.HEX ist der Bootloader für Floppies. OS2CCP.HEX ist der assemblierte CCP. OS3BDOS.HEX ist das assemblierte BDOS. PATCH.HEX enthält einen beim NKC beliebten Patch für CP/M, der ein unmodifiziertes CP/M vorraussetzt. SERIAL.HEX enthält die Seriennummer, die vom unmodifizierten CP/M geprüft wird. BIOS001.HEX ist ein BIOS für den Betrieb mit bis zu zwei 3.5" oder 5.25" Floppies sowie einer RAM-Disk, d.h. es werden wenigstens zwei ROA64 benötigt. Nach Start dieser SUBMIT-Datei steht das fertige Systemabbild in der TPA und kann mit SYSGEN80 in die Systemspuren einer Floppy geschrieben werden. Wenn man SAVE benutzt, um das Abbild zu sichern, muss man die Anzahl von Pages des Systems angeben: SYSGEN von 0100h bis 0900h = 8 pages (SAVE speichert erst ab 0100h) Länge des Bootsektors im Speicher = 1 page Länge von CP/M+BIOS = 0F000 - 0D400 = 28 pages Insgesamt 8 + 1 + 28 = 37 So wird das System also gespeichert: A>SAVE 37 CPM.COM |
Beiträge: 501 | Mitglied seit: April 2008 | IP-Adresse: gespeichert | |
DerInder Fast schon Admin Seitenadmins ID # 2 |
Erstellt am 19. März 2017 17:09 (#2)
Zitat
PN E-Mail
Moin Michael,
den (warscheinlich rückübersetzten) Quellcode für SYSGEN80 hab ich. Kann ich die mailen. ----------------------- Gruß -=jens=- |
Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert | |
m.haardt Voll in Gange ID # 93 |
Erstellt am 19. März 2017 18:11 (#3)
Zitat
PN E-Mail
Ja, bitte!
Michael |
Beiträge: 501 | Mitglied seit: April 2008 | IP-Adresse: gespeichert |
| https://hschuetz.selfhost.eu | Boardregeln | Datenschutzerklärung
Tritanium Bulletin Board 1.8
© 2010–2021 Tritanium Scripts
Seite in 0,023288 Sekunden erstellt
15 Dateien verarbeitet
gzip Komprimierung eingeschaltet
1986,58 KiB Speichernutzung