Annotation of nono/util/runcom/z80tocom.pl, revision 1.1

1.1     ! root        1: #!/usr/bin/env perl
        !             2: 
        !             3: #
        !             4: # nono
        !             5: # Copyright (C) 2023 nono project
        !             6: # Licensed under nono-license.txt
        !             7: #
        !             8: 
        !             9: # z80-asm の出力する .z80 形式を .COM に変換する。
        !            10: # (10バイトのヘッダを取り除くだけ)
        !            11: #
        !            12: # usage: z80tocom.pl <infile.z80> [<outfile.com>]
        !            13: 
        !            14: {
        !            15:        $filename = $ARGV[0];
        !            16:        $filesize = -s $filename;
        !            17: 
        !            18:        if (@ARGV > 1) {
        !            19:                $outfile = $ARGV[1];
        !            20:        } else {
        !            21:                $outfile = $filename;
        !            22:                $outfile =~ s/(\.z80|)$/.com/;
        !            23:        }
        !            24: 
        !            25:        # ファイルを全部読み込む
        !            26:        open(IN, $filename) or die;
        !            27:        binmode(IN);
        !            28:        read(IN, $magic, 8);
        !            29:        read(IN, $dummylen, 2);
        !            30:        read(IN, $data, $filesize - 10);
        !            31:        close(IN);
        !            32: 
        !            33:        # マジック照合
        !            34:        if ($magic != "Z80ASM\x1a\x0a") {
        !            35:                die("${filename} is not .z80 object format");
        !            36:        }
        !            37: 
        !            38:        # 出力
        !            39:        open(OUT, ">$outfile") or die;
        !            40:        binmode(OUT);
        !            41:        print OUT $data;
        !            42:        close(OUT);
        !            43: 
        !            44:        exit 0;
        !            45: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.