🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.sys.ibm
Article #508

Re: AWARD-BIOS

#508
From: Jens Cassel
Date: Tue, 03 Nov 1992 09:54
92 lines
3083 bytes
IS> In meinem AWARD-BIOS 2.0 kann ich im Setup fuer HD 1 ff. einstellen:
IS>
IS> 0 not present
IS> 1 - 47 Type or 60 - 83 TYPE
IS> [...]
IS> Leider habe ich keinerlei Informationen ueber die Codes!
IS>
IS> Weiss jemand darueber Bescheid oder wie kommt man sonst an derartige Info's

Die Tabelle liegt ab Adresse F000:E401 im BIOS, jeder Eintrag sieht wie in 
unten stehender C Struktur beschrieben aus. Dies gilt zumindest fuer Typ 1-46, 
wo 60-83 stehen, weiss ich auch nicht, musst Du leider selber suchen.
Bei den fuer Dich relevanten Sachen habe ich eben noch ein paar deutsche 
Kommentare reingehackt.


[typedef.h]
--------8<--------8<--------
typedef unsigned int word;
typedef unsigned char byte;
--------8<--------8<--------


[bioshd.h]
--------8<--------8<--------
#pragma pack(1)

typedef struct {
  unsigned int drvopt : 3;
  unsigned int more8  : 1;
  unsigned int unused : 1;
  unsigned int defect : 1;
  unsigned int disecc : 1;
  unsigned int disacc : 1;
} ctrl;

typedef struct {
  word cylinder;                    /* Anzahl Zylinder */
  byte heads;                       /* Anzahl Koepfe   */
  word reduced;     /* XT only */
  word precomp;
  byte maxecc;      /* XT only */
  byte control;
  byte timeout;     /* XT only */
  byte frm_timeout; /* XT only */
  byte chk_timeout; /* XT only */
  word landing;     /* AT only */
  byte sectrk;                      /* Anzahl Sektoren pro Spur */
  byte reserved;
} hdentry;
#pragma pack()
--------8<--------8<--------

Kleines Beispielprograemmchen (nicht schoen, aber selten ;-), habe ich eben mal 
schnell reingehackt, ob es funzt, kann und will ich nicht beschwoeren....)

[hdentry.c]

--------8<--------8<--------
#include <stdio.h>
#include <dos.h>

#include "typedef.h"
#include "bioshd.h"

/* Wer's nicht hat: */
#define MK_FP(seg,ofs) ((void far *)(((unsigned long)(seg) << 16) | (ofs)))


void main(void);


void main(void)
{
  int i;
  hdentry far *hp = (hdentry far *)0x0F000E401L;

  printf("%d\n",sizeof(hdentry));
  for(i=1; i<47; i++,hp++) {
    printf("Typ %.2d: %.4d Cyl., %.2d Heads, %.2d Sec/Trk (%ld MB)\n", i,
       hp->cylinder, hp->heads, hp->sectrk,
       ((long)hp->cylinder * (long)hp->heads * (long)hp->sectrk) / 2048L  );
  }
}
--------8<--------8<--------

Ich hoffe, dass Dir das ein bischen weiterhilft!

Tschoe, wa!

  Jens
Technical Details
Message-ID: <1b3abbcc@p27.f47.n242.z2.fidonet.org>
Path: arc1-ca.pugleaf.net!sparky!uunet!gatech!darwin.sura.net!spool.mu.edu!wupost!zaphod.mps.ohio-state.edu!sdd.hp.com!nntp-server.caltech.edu!ira.uka.de!ira.uka.de!Sirius.dfn.de!Urmel.Informatik.RWTH-Aachen.DE!dfv.rwth-aachen.de!sungate.fido.de!p1.hippo.fido.de!dungeon.fido.de!Jens_Cassel
References: <77eb1037@fbi-news.Informatik.Uni-Dortmund.DE>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!gatech!darwin.sura.net!spool.mu.edu!wupost!zaphod.mps.ohio-state.edu!sdd.hp.com!nntp-server.caltech.edu!ira.uka.de!ira.uka.de!Sirius.dfn.de!Urmel.Informatik.RWTH-Aachen.DE!dfv.rwth-aachen.de!sungate.fido.de!p1.hippo.fido.de!dungeon.fido.de!Jens_Cassel
Date: Tue,  3 Nov 92 10:54:14 +0100
From: Jens_Cassel@dungeon.fido.de (Jens Cassel)
Subject: Re: AWARD-BIOS
Message-ID: <1b3abbcc@p27.f47.n242.z2.fidonet.org>
References: <77eb1037@fbi-news.Informatik.Uni-Dortmund.DE>
Newsgroups: de.comp.sys.ibm
X-Comment-To: schulz@ls12r.informatik.uni-dortmund.de (Ingo-Volker Schulz)
Organization: Point #27 of Dungeon of Despair 
Lines: 95