head	1.2;
access;
symbols;
locks; strict;
comment	@# @;


1.2
date	2008.10.13.00.24.30;	author zeus;	state Exp;
branches;
next	1.1;
commitid	7e6e48f2953c4567;

1.1
date	2008.10.01.02.25.51;	author zeus;	state Exp;
branches;
next	;
commitid	168d48e2dfaa4567;


desc
@@


1.2
log
@Preliminary BIOS
@
text
@#!/usr/bin/perl
#
# $Id: makesym.perl,v 1.2 2008/01/26 09:15:27 sshwarts Exp $
#
# Read output file from as86 (e.g. rombios.txt) and write out a symbol
# table suitable for the Bochs debugger.
#

$WHERE_BEFORE_SYM_TABLE = 0;
$WHERE_IN_SYM_TABLE = 1;
$WHERE_AFTER_SYM_TABLE = 2;

$where = $WHERE_BEFORE_SYM_TABLE;
while (<STDIN>) {
  chop;
  if ($where == WHERE_BEFORE_SYM_TABLE && /^Symbols:/) {
    $where = $WHERE_IN_SYM_TABLE;
  } elsif ($where == $WHERE_IN_SYM_TABLE && /^$/) {
    $where = $WHERE_AFTER_SYM_TABLE;
  }
  if ($where == $WHERE_IN_SYM_TABLE) {
    @@F = split (/\s+/);
    ($name[0], $junk, $addr[0], $junk, $name[1], $junk, $addr[1]) = @@F;
    foreach $col (0,1) {
      next if length $addr[$col] < 1;
      $addr[$col] =~ tr/A-Z/a-z/;
      $addr[$col] = "000f" . $addr[$col];
      print "$addr[$col] $name[$col]\n";
    }
  }
}
@


1.1
log
@New BIOS version and Conversion instructions
@
text
@@

