001
24.11.2008, 09:38 Uhr
holm
|
Ich habe durch viel Dallerei das benötigte Format selbst herausgefunden:
Datei dpb.def: --------------------------------------- disks 5 diskdef 0,k5601 diskdef 1,k5601 diskdef 2,mf6400 diskdef 3,mf6400 diskdef 4,edisk,k5600.20 endef ---------------------------------------- Ob Groß- oder Kleinbuchstaben ist egal.
Das Ganze wird dann durch "gendef cmd" in die Datei "dpb.lib" übersetzt, die das "bios.a86" file beim assemblieren haben will. Etwas grundsätzlich Anderes zu definieren hat wenig Sinn, Die Anzahl der Laufwerke ist zwar konfigurierbar, aber das Bios versucht zur Laufzeit selber heraus zu bekommen ob eine "ELDISK" oder "EDISK" konfiguriert ist, ist aber trotzdem relativ prasslig, weil es unabhängig von der Anzahl der konfigurierten DPBs im Quelltext ein "mov si,dpb4" stehen hat, das natürlich bei weniger als 5 konfigurierten DPBs beim assemblieren zu einem Fehler führt. --- Heiße Nadel...Pfusch.
Das originale "gendef.cmd" von cp/m86 möchte statt der "K5601" oder "MF6400" detaillierte Formatinformationen, die Laufwerkstypen sind gewissermaßen Makros von Robotron. Allerdings läuft die Sache dem CP/M Feature zu wieder, das sich mehrere Laufwerke mit gleichen Parametern einen DPB teilen können, hier wird für jedes Laufwerk einer erzeugt, egal ob der identisch zu einem anderen Laufwerk ist. Speicherverschwendung...
Falls doch noch Jemand über die Doku zum Robotron "gendef.cmd" stolpert, ich bin nach wie vor interessiert...
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;} Dieser Beitrag wurde am 25.11.2008 um 14:10 Uhr von holm editiert. |