mirror of
https://github.com/rvtr/TwlToolsRED.git
synced 2025-10-31 06:41:18 -04:00
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlToolsRED@585 7061adef-622a-194b-ae81-725974e89856
This commit is contained in:
parent
0a8fc3efdc
commit
87a51d3bcb
Binary file not shown.
Binary file not shown.
@ -32,11 +32,20 @@ type
|
|||||||
bottom:Longword; // end;
|
bottom:Longword; // end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TRomh = record
|
TRomh = record //ROMヘッダ(nitro_romheader.hより)
|
||||||
title: array[1..12] of Char;
|
title: array[1..12] of Char;
|
||||||
game_code: array[1..4] of Byte;
|
game_code: array[1..4] of Char;
|
||||||
//0x10
|
//0x10
|
||||||
dumy:array[1..16]of Byte;//ツールで使用しない部分
|
maker_code: array[1..2] of Byte;
|
||||||
|
machine_code: Byte;
|
||||||
|
rom_type: Byte;
|
||||||
|
rom_size: Byte;
|
||||||
|
resv_A: array[1..8] of Byte; //Reserve(All 0)
|
||||||
|
region: Byte;
|
||||||
|
// b0 = china,b1 = koria
|
||||||
|
|
||||||
|
rom_version: Byte;
|
||||||
|
comp_boot_area: Byte;//b7 =A9,b6=A7
|
||||||
|
|
||||||
//
|
//
|
||||||
// 0x020 for Static modules (Section:B)
|
// 0x020 for Static modules (Section:B)
|
||||||
@ -79,82 +88,131 @@ implementation
|
|||||||
function TForm1.CheckSrlHeader: integer;
|
function TForm1.CheckSrlHeader: integer;
|
||||||
var
|
var
|
||||||
Rec: TSearchRec;
|
Rec: TSearchRec;
|
||||||
s: String;
|
sf,s,ss: String;
|
||||||
i,n,Count: integer;
|
i,n,Count: integer;
|
||||||
fsrl: file;
|
fsrl: file;
|
||||||
|
flog:TextFile;
|
||||||
romh: TRomh;
|
romh: TRomh;
|
||||||
noc_size,noc_sectors,size,sectors,nums,max_sectors,total_sectors: integer;
|
noc_size,noc_sectors,size,sectors,nums,max_sectors,total_sectors: integer;
|
||||||
fat: TRom_Fat;
|
fat: TRom_Fat;
|
||||||
|
top,btm,all_sectors: Longword;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
{$I-}
|
{$I-}
|
||||||
Count :=0;
|
//ログファイル作成
|
||||||
//指定ディレクトリからファイルを取り出す
|
ListBox_log.Items.Add('Create Log file');
|
||||||
// ** 内容で判別しないので違うファイル置かないよう注意 **
|
s := 'log.txt';
|
||||||
if FindFirst(SrlDir + '*.*', faAnyFile, Rec) = 0 then
|
AssignFile (flog,s);
|
||||||
try
|
Rewrite(flog);
|
||||||
|
if IOResult <> 0 then begin
|
||||||
|
Count := -1;
|
||||||
|
ListBox_log.Items.Add('faild')
|
||||||
|
end else begin
|
||||||
|
Count := 0;
|
||||||
|
//指定ディレクトリからファイルを取り出す
|
||||||
|
// ** 内容で判別しないので違うファイル置かないよう注意 **
|
||||||
|
if FindFirst(SrlDir + '*.*', faAnyFile, Rec) = 0 then
|
||||||
|
try
|
||||||
repeat
|
repeat
|
||||||
//フォルダやカレントディレクトリや親ディレクトリは対象外で
|
//フォルダやカレントディレクトリや親ディレクトリは対象外
|
||||||
if not((Rec.Attr and faDirectory > 0)) and
|
if not((Rec.Attr and faDirectory > 0)) and
|
||||||
(Rec.Name <> '.') and (Rec.Name <> '..') then
|
(Rec.Name <> '.') and (Rec.Name <> '..') and (Rec.name<>'log.txt')then
|
||||||
begin
|
begin
|
||||||
Inc(Count);
|
Inc(Count);
|
||||||
ListBox_log.Items.Add('file: '+Rec.Name);
|
//ListBox_log.Items.Add(' ********************************** ');
|
||||||
|
Writeln(flog,' ********************************** ');
|
||||||
|
sf := 'file: '+Rec.Name;
|
||||||
|
//ListBox_log.Items.Add(sf);
|
||||||
|
Writeln(flog,sf);
|
||||||
AssignFile (fsrl,SrlDir+Rec.Name);
|
AssignFile (fsrl,SrlDir+Rec.Name);
|
||||||
FileMode := fmOpenRead;//リード専用指定
|
FileMode := fmOpenRead;//リード専用指定
|
||||||
Reset(fsrl,1);//ファイル開く
|
Reset(fsrl,1);//ファイル開く
|
||||||
if IOResult = 0 then begin
|
if IOResult = 0 then begin
|
||||||
BlockRead(fsrl,romh,SizeOf(TRomh),n);
|
BlockRead(fsrl,romh,SizeOf(TRomh),n);//ヘッダリード
|
||||||
if SizeOf(TRomh) <> n then
|
if SizeOf(TRomh) <> n then
|
||||||
s := ' size too small'
|
s := ' header read error'
|
||||||
else begin
|
else begin
|
||||||
SetLength(s,12);
|
//SetLength(s,12);
|
||||||
|
s := '[ ( )]';
|
||||||
for i:=1 to 12 do begin
|
for i:=1 to 12 do begin
|
||||||
if romh.title[i] = char(0) then break;
|
if romh.title[i] = char(0) then break;
|
||||||
s[i] := romh.title[i];
|
s[i+1] := romh.title[i];
|
||||||
end;
|
end;
|
||||||
if i<12 then Setlength(s,i);
|
s[15] := romh.game_code[4];//idの4文字目(仕向地)
|
||||||
ListBox_log.Items.Add('title = '+s);
|
//ListBox_log.Items.Add(s); //title
|
||||||
|
Writeln(flog,s);
|
||||||
|
s := 'game_code = ';
|
||||||
|
for i:=1 to 4 do s[12+i] := romh.game_code[i];
|
||||||
|
//ListBox_log.Items.Add(s); //game code
|
||||||
|
//ListBox_log.Items.Add('version = '+inttostr(romh.rom_version));
|
||||||
|
//ListBox_log.Items.Add(' ');
|
||||||
|
Writeln(flog,s);
|
||||||
|
Writeln(flog,'version = '+inttostr(romh.rom_version));
|
||||||
|
Writeln(flog);//改行
|
||||||
|
|
||||||
//オーバレイチェック
|
//オーバレイチェック
|
||||||
if romh.main_ovt_size >0 then begin
|
if romh.main_ovt_size >31 then begin
|
||||||
//DHT_OVERLAY_MAX (512*1024)
|
//DHT_OVERLAY_MAX (512*1024)
|
||||||
total_sectors := 0;
|
total_sectors := 0;
|
||||||
nums := romh.main_ovt_size div 32;// 32 = Nitro用(Twlは33)
|
all_sectors := 0;
|
||||||
noc_size :=0;
|
nums := romh.main_ovt_size div 32;//Ovl count
|
||||||
noc_sectors := 0;
|
noc_size :=0;//範囲外トータルsize
|
||||||
|
noc_sectors := 0;// 同セクタ
|
||||||
for i := 0 to nums-1 do begin
|
for i := 0 to nums-1 do begin
|
||||||
|
top := 0;btm := 0;
|
||||||
seek( fsrl,romh.fat_offset+sizeof(TRom_Fat)*i);
|
seek( fsrl,romh.fat_offset+sizeof(TRom_Fat)*i);
|
||||||
BlockRead( fsrl,fat,sizeof(fat),n);
|
BlockRead( fsrl,fat,sizeof(fat),n);//top,bottom取得
|
||||||
size := fat.bottom - fat.top;
|
|
||||||
if total_sectors >= 1024 then begin//MAX超えたファイルは検証外に加算
|
|
||||||
s := 'OL['+inttostr(i)+'] $'+ inttohex(fat.top,8)+' - $'+
|
|
||||||
inttohex(fat.bottom,8)+' :size '+ inttostr(size);
|
|
||||||
noc_size := noc_size + size;
|
|
||||||
noc_sectors := noc_sectors + ((size+511) and $fffffe00) div 512;
|
|
||||||
next;
|
|
||||||
end;
|
|
||||||
//max_sectors = (DHT_OVERLAY_MAX/512 - total_sectors) / (nums-i);
|
|
||||||
max_sectors := (1024 - total_sectors) div (nums-i);
|
|
||||||
if n <> sizeof(fat) then begin
|
if n <> sizeof(fat) then begin
|
||||||
s := s+'Cannot read fat id='+ inttostr(i);
|
s := s+'Cannot read fat id='+ inttostr(i);
|
||||||
break;
|
break;
|
||||||
end;
|
end;
|
||||||
sectors := ( ((fat.bottom+511) and $fffffe00)- fat.top) div 512;
|
size := (fat.bottom - fat.top)+1;
|
||||||
if sectors > max_sectors then begin
|
sectors := size shr 9;//div 512
|
||||||
size := size - max_sectors*512;//検証されない残りサイズ
|
if (size and $1ff) <>0 then inc(sectors);
|
||||||
s := 'OL['+inttostr(i)+'] $'+ inttohex(fat.top+max_sectors*512,8)+' - $'+
|
size := sectors shl 9;
|
||||||
inttohex(fat.bottom,8)+' :size '+ inttostr(size);
|
inc(all_sectors,sectors);
|
||||||
ListBox_log.Items.Add(s);
|
//max_sectors = (DHT_OVERLAY_MAX/512 - total_sectors) / (nums-i);
|
||||||
noc_size := noc_size+size;
|
if (total_sectors < 1024)then max_sectors := (1024 - total_sectors) div (nums-i)
|
||||||
noc_sectors := noc_sectors + (max_sectors-sectors);
|
else max_sectors := 0;
|
||||||
|
btm := fat.bottom;
|
||||||
|
if max_sectors = 0 then begin//残検証サイズなければ丸ごと検証外
|
||||||
|
top := fat.top;
|
||||||
|
ss := '(A9 Overlay の全部)';
|
||||||
|
end else begin
|
||||||
|
if sectors > max_sectors then begin //最大割当サイズ超
|
||||||
|
sectors := sectors - max_sectors;//検証されないセクタ数
|
||||||
|
top := fat.top + max_sectors;
|
||||||
|
inc(total_sectors,max_sectors);
|
||||||
|
ss := '(A9 Overlay の一部)';
|
||||||
|
end else begin //超過なし
|
||||||
|
inc(total_sectors,sectors);
|
||||||
|
sectors := 0;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
if sectors > 0 then begin
|
||||||
|
size := sectors shl 9;
|
||||||
|
s := 'offset'+inttostr(i)+' = 0x'+ inttohex(top,8)
|
||||||
|
+' ; 0x'+ inttohex(top,8)
|
||||||
|
+'-0x' + inttohex(btm,8)+ss;
|
||||||
|
//ListBox_log.Items.Add(s);
|
||||||
|
Writeln(flog,s);
|
||||||
|
s := 'length'+ inttostr(i) + ' = 0x' + inttohex(size,4)
|
||||||
|
+ ' ; '+ inttostr(size)+' bytes';
|
||||||
|
//ListBox_log.Items.Add(s);
|
||||||
|
Writeln(flog,s);
|
||||||
|
inc(noc_size,size);
|
||||||
|
inc(noc_sectors,sectors);
|
||||||
end;
|
end;
|
||||||
total_sectors := total_sectors + sectors;
|
|
||||||
end;
|
end;
|
||||||
if i = nums then begin
|
if i = nums then begin //中断なし
|
||||||
ListBox_log.Items.Add('total sectors = '+inttostr(total_sectors));
|
//ListBox_log.Items.Add('total sectors = '+inttostr(all_sectors));
|
||||||
ListBox_log.Items.Add('no check sectors = '+inttostr(noc_sectors));
|
//ListBox_log.Items.Add('no check sectors = '+inttostr(noc_sectors));
|
||||||
ListBox_log.Items.Add('no check size = '+inttostr(noc_size));
|
//ListBox_log.Items.Add('no check size = '+inttostr(noc_size));
|
||||||
|
//ListBox_log.Items.Add(' '); //間をあける
|
||||||
|
Writeln(flog); //開業
|
||||||
|
Writeln(flog,'total sectors = '+inttostr(all_sectors));
|
||||||
|
Writeln(flog,'no check sectors = '+inttostr(noc_sectors));
|
||||||
|
Writeln(flog,'no check size = '+inttostr(noc_size));
|
||||||
if noc_size > 0 then s:= 'NG'
|
if noc_size > 0 then s:= 'NG'
|
||||||
else s:= 'OK';
|
else s:= 'OK';
|
||||||
end;
|
end;
|
||||||
@ -162,12 +220,16 @@ begin
|
|||||||
end;
|
end;
|
||||||
end else s := ' Open Error';
|
end else s := ' Open Error';
|
||||||
CloseFile(fsrl);
|
CloseFile(fsrl);
|
||||||
ListBox_log.Items.Add(s);
|
Writeln(flog,s);//結果
|
||||||
|
if (s='OK') or (s='NG') then s := 'done';
|
||||||
|
ss := sf + ' : ' + s;
|
||||||
|
ListBox_log.Items.Add(ss);
|
||||||
end;
|
end;
|
||||||
until (FindNext(Rec) <> 0);
|
until (FindNext(Rec) <> 0);
|
||||||
finally
|
finally
|
||||||
FindClose(Rec);
|
FindClose(Rec);
|
||||||
|
end;
|
||||||
|
CloseFile(flog);
|
||||||
end;
|
end;
|
||||||
{$I+}
|
{$I+}
|
||||||
Result :=Count;
|
Result :=Count;
|
||||||
@ -178,15 +240,16 @@ end;
|
|||||||
procedure TForm1.Button1Click(Sender: TObject);
|
procedure TForm1.Button1Click(Sender: TObject);
|
||||||
var
|
var
|
||||||
FileCount :integer;
|
FileCount :integer;
|
||||||
|
s :string;
|
||||||
begin
|
begin
|
||||||
ListBox_log.Clear;
|
ListBox_log.Clear;
|
||||||
//指定ディレクトリのsrlファイルをチェック
|
//指定ディレクトリのsrlファイルをチェック
|
||||||
FileCount := CheckSrlHeader;
|
FileCount := CheckSrlHeader;
|
||||||
if FileCount>0 then begin
|
if FileCount>0 then begin
|
||||||
ListBox_log.Items.Add(' ------------------------ ');
|
ListBox_log.Items.Add(' ------------------------------ ');
|
||||||
ListBox_log.Items.Add('total '+inttostr(FileCount)+' files');
|
s := 'total '+inttostr(FileCount)+' files';
|
||||||
end else
|
end else if FileCount = 0 then s := ' file not ditect' ;
|
||||||
ListBox_log.Items.Add(' file not ditect');
|
ListBox_log.Items.Add(s);
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|||||||
@ -32,11 +32,20 @@ type
|
|||||||
bottom:Longword; // end;
|
bottom:Longword; // end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TRomh = record
|
TRomh = record //ROMヘッダ(nitro_romheader.hより)
|
||||||
title: array[1..12] of Char;
|
title: array[1..12] of Char;
|
||||||
game_code: array[1..4] of Byte;
|
game_code: array[1..4] of Char;
|
||||||
//0x10
|
//0x10
|
||||||
dumy:array[1..16]of Byte;//ツールで使用しない部分
|
maker_code: array[1..2] of Byte;
|
||||||
|
machine_code: Byte;
|
||||||
|
rom_type: Byte;
|
||||||
|
rom_size: Byte;
|
||||||
|
resv_A: array[1..8] of Byte; //Reserve(All 0)
|
||||||
|
region: Byte;
|
||||||
|
// b0 = china,b1 = koria
|
||||||
|
|
||||||
|
rom_version: Byte;
|
||||||
|
comp_boot_area: Byte;//b7 =A9,b6=A7
|
||||||
|
|
||||||
//
|
//
|
||||||
// 0x020 for Static modules (Section:B)
|
// 0x020 for Static modules (Section:B)
|
||||||
@ -79,12 +88,13 @@ implementation
|
|||||||
function TForm1.CheckSrlHeader: integer;
|
function TForm1.CheckSrlHeader: integer;
|
||||||
var
|
var
|
||||||
Rec: TSearchRec;
|
Rec: TSearchRec;
|
||||||
s: String;
|
s,ss: String;
|
||||||
i,n,Count: integer;
|
i,n,Count: integer;
|
||||||
fsrl: file;
|
fsrl: file;
|
||||||
romh: TRomh;
|
romh: TRomh;
|
||||||
noc_size,noc_sectors,size,sectors,nums,max_sectors,total_sectors: integer;
|
noc_size,noc_sectors,size,sectors,nums,max_sectors,total_sectors: integer;
|
||||||
fat: TRom_Fat;
|
fat: TRom_Fat;
|
||||||
|
top,btm,all_sectors: Longword;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
{$I-}
|
{$I-}
|
||||||
@ -94,67 +104,92 @@ begin
|
|||||||
if FindFirst(SrlDir + '*.*', faAnyFile, Rec) = 0 then
|
if FindFirst(SrlDir + '*.*', faAnyFile, Rec) = 0 then
|
||||||
try
|
try
|
||||||
repeat
|
repeat
|
||||||
//フォルダやカレントディレクトリや親ディレクトリは対象外で
|
//フォルダやカレントディレクトリや親ディレクトリは対象外
|
||||||
if not((Rec.Attr and faDirectory > 0)) and
|
if not((Rec.Attr and faDirectory > 0)) and
|
||||||
(Rec.Name <> '.') and (Rec.Name <> '..') then
|
(Rec.Name <> '.') and (Rec.Name <> '..') then
|
||||||
begin
|
begin
|
||||||
Inc(Count);
|
Inc(Count);
|
||||||
|
ListBox_log.Items.Add(' ********************************** ');
|
||||||
ListBox_log.Items.Add('file: '+Rec.Name);
|
ListBox_log.Items.Add('file: '+Rec.Name);
|
||||||
AssignFile (fsrl,SrlDir+Rec.Name);
|
AssignFile (fsrl,SrlDir+Rec.Name);
|
||||||
FileMode := fmOpenRead;//リード専用指定
|
FileMode := fmOpenRead;//リード専用指定
|
||||||
Reset(fsrl,1);//ファイル開く
|
Reset(fsrl,1);//ファイル開く
|
||||||
if IOResult = 0 then begin
|
if IOResult = 0 then begin
|
||||||
BlockRead(fsrl,romh,SizeOf(TRomh),n);
|
BlockRead(fsrl,romh,SizeOf(TRomh),n);//ヘッダリード
|
||||||
if SizeOf(TRomh) <> n then
|
if SizeOf(TRomh) <> n then
|
||||||
s := ' size too small'
|
s := ' file error'
|
||||||
else begin
|
else begin
|
||||||
SetLength(s,12);
|
//SetLength(s,12);
|
||||||
|
s := '[ ( )]';
|
||||||
for i:=1 to 12 do begin
|
for i:=1 to 12 do begin
|
||||||
if romh.title[i] = char(0) then break;
|
if romh.title[i] = char(0) then break;
|
||||||
s[i] := romh.title[i];
|
s[i+1] := romh.title[i];
|
||||||
end;
|
end;
|
||||||
if i<12 then Setlength(s,i);
|
s[15] := romh.game_code[4];//idの4文字目(仕向地)
|
||||||
ListBox_log.Items.Add('title = '+s);
|
ListBox_log.Items.Add(s); //title
|
||||||
|
s := 'game_code = ';
|
||||||
|
for i:=1 to 4 do s[12+i] := romh.game_code[i];
|
||||||
|
ListBox_log.Items.Add(s); //game code
|
||||||
|
ListBox_log.Items.Add('version = '+inttostr(romh.rom_version));
|
||||||
|
ListBox_log.Items.Add(' '); //間をあける
|
||||||
|
|
||||||
//オーバレイチェック
|
//オーバレイチェック
|
||||||
if romh.main_ovt_size >0 then begin
|
if romh.main_ovt_size >31 then begin
|
||||||
//DHT_OVERLAY_MAX (512*1024)
|
//DHT_OVERLAY_MAX (512*1024)
|
||||||
total_sectors := 0;
|
total_sectors := 0;
|
||||||
nums := romh.main_ovt_size div 32;// 32 = Nitro用(Twlは33)
|
all_sectors := 0;
|
||||||
noc_size :=0;
|
nums := romh.main_ovt_size div 32;//Ovl count
|
||||||
noc_sectors := 0;
|
noc_size :=0;//範囲外トータルsize
|
||||||
|
noc_sectors := 0;// 同セクタ
|
||||||
for i := 0 to nums-1 do begin
|
for i := 0 to nums-1 do begin
|
||||||
|
top := 0;btm := 0;
|
||||||
seek( fsrl,romh.fat_offset+sizeof(TRom_Fat)*i);
|
seek( fsrl,romh.fat_offset+sizeof(TRom_Fat)*i);
|
||||||
BlockRead( fsrl,fat,sizeof(fat),n);
|
BlockRead( fsrl,fat,sizeof(fat),n);//top,bottom取得
|
||||||
size := fat.bottom - fat.top;
|
|
||||||
if total_sectors >= 1024 then begin//MAX超えたファイルは検証外に加算
|
|
||||||
s := 'OL['+inttostr(i)+'] $'+ inttohex(fat.top,8)+' - $'+
|
|
||||||
inttohex(fat.bottom,8)+' :size '+ inttostr(size);
|
|
||||||
noc_size := noc_size + size;
|
|
||||||
noc_sectors := noc_sectors + ((size+511) and $fffffe00) div 512;
|
|
||||||
next;
|
|
||||||
end;
|
|
||||||
//max_sectors = (DHT_OVERLAY_MAX/512 - total_sectors) / (nums-i);
|
|
||||||
max_sectors := (1024 - total_sectors) div (nums-i);
|
|
||||||
if n <> sizeof(fat) then begin
|
if n <> sizeof(fat) then begin
|
||||||
s := s+'Cannot read fat id='+ inttostr(i);
|
s := s+'Cannot read fat id='+ inttostr(i);
|
||||||
break;
|
break;
|
||||||
end;
|
end;
|
||||||
sectors := ( ((fat.bottom+511) and $fffffe00)- fat.top) div 512;
|
size := (fat.bottom - fat.top)+1;
|
||||||
if sectors > max_sectors then begin
|
sectors := size shr 9;//div 512
|
||||||
size := size - max_sectors*512;//検証されない残りサイズ
|
if (size and $1ff) <>0 then inc(sectors);
|
||||||
s := 'OL['+inttostr(i)+'] $'+ inttohex(fat.top+max_sectors*512,8)+' - $'+
|
size := sectors shl 9;
|
||||||
inttohex(fat.bottom,8)+' :size '+ inttostr(size);
|
inc(all_sectors,sectors);
|
||||||
ListBox_log.Items.Add(s);
|
//max_sectors = (DHT_OVERLAY_MAX/512 - total_sectors) / (nums-i);
|
||||||
noc_size := noc_size+size;
|
if (total_sectors < 1024)then max_sectors := (1024 - total_sectors) div (nums-i)
|
||||||
noc_sectors := noc_sectors + (max_sectors-sectors);
|
else max_sectors := 0;
|
||||||
|
btm := fat.bottom;
|
||||||
|
if max_sectors = 0 then begin//残検証サイズなければ丸ごと検証外
|
||||||
|
top := fat.top;
|
||||||
|
ss := '(A9 Overlay の全部)';
|
||||||
|
end else begin
|
||||||
|
if sectors > max_sectors then begin //最大割当サイズ超
|
||||||
|
sectors := sectors - max_sectors;//検証されないセクタ数
|
||||||
|
top := fat.top + max_sectors;
|
||||||
|
inc(total_sectors,max_sectors);
|
||||||
|
ss := '(A9 Overlay の一部)';
|
||||||
|
end else begin //超過なし
|
||||||
|
inc(total_sectors,sectors);
|
||||||
|
sectors := 0;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
if sectors > 0 then begin
|
||||||
|
size := sectors shl 9;
|
||||||
|
s := 'offset'+inttostr(i)+' = 0x'+ inttohex(top,8)
|
||||||
|
+' ; 0x'+ inttohex(top,8)
|
||||||
|
+'-0x' + inttohex(btm,8)+ss;
|
||||||
|
ListBox_log.Items.Add(s);
|
||||||
|
s := 'length'+ inttostr(i) + ' = 0x' + inttohex(size,4)
|
||||||
|
+ ' ; '+ inttostr(size)+' bytes';
|
||||||
|
ListBox_log.Items.Add(s);
|
||||||
|
inc(noc_size,size);
|
||||||
|
inc(noc_sectors,sectors);
|
||||||
end;
|
end;
|
||||||
total_sectors := total_sectors + sectors;
|
|
||||||
end;
|
end;
|
||||||
if i = nums then begin
|
if i = nums then begin //中断なし
|
||||||
ListBox_log.Items.Add('total sectors = '+inttostr(total_sectors));
|
ListBox_log.Items.Add('total sectors = '+inttostr(all_sectors));
|
||||||
ListBox_log.Items.Add('no check sectors = '+inttostr(noc_sectors));
|
ListBox_log.Items.Add('no check sectors = '+inttostr(noc_sectors));
|
||||||
ListBox_log.Items.Add('no check size = '+inttostr(noc_size));
|
ListBox_log.Items.Add('no check size = '+inttostr(noc_size));
|
||||||
|
ListBox_log.Items.Add(' '); //間をあける
|
||||||
if noc_size > 0 then s:= 'NG'
|
if noc_size > 0 then s:= 'NG'
|
||||||
else s:= 'OK';
|
else s:= 'OK';
|
||||||
end;
|
end;
|
||||||
@ -183,7 +218,7 @@ begin
|
|||||||
//指定ディレクトリのsrlファイルをチェック
|
//指定ディレクトリのsrlファイルをチェック
|
||||||
FileCount := CheckSrlHeader;
|
FileCount := CheckSrlHeader;
|
||||||
if FileCount>0 then begin
|
if FileCount>0 then begin
|
||||||
ListBox_log.Items.Add(' ------------------------ ');
|
ListBox_log.Items.Add(' ------------------------------ ');
|
||||||
ListBox_log.Items.Add('total '+inttostr(FileCount)+' files');
|
ListBox_log.Items.Add('total '+inttostr(FileCount)+' files');
|
||||||
end else
|
end else
|
||||||
ListBox_log.Items.Add(' file not ditect');
|
ListBox_log.Items.Add(' file not ditect');
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user