Explorar el Código

Extract reading of the PPU/PCP version into tentryfile.

entfile.pas:
  + add new getversion method which uses the pointer returned by getheaderaddr to read the PPU/PCP version
ppu.pas:
  - remove GetPPUVersion method
fppu.pas, pmodules.pas, utils/ppufiles.pp, utils/ppumove.pp, utils/ppuutils/ppudump.pp
  * replace call to GetPPUVersion by call to getversion

git-svn-id: branches/svenbarth/packages@28690 -
svenbarth hace 11 años
padre
commit
f359fe4690

+ 15 - 0
compiler/entfile.pas

@@ -222,6 +222,7 @@ interface
       error         : boolean;
       constructor create(const fn:string);
       destructor  destroy;override;
+      function getversion:integer;
       procedure flush;
       procedure closefile;virtual;
       procedure newentry;
@@ -324,6 +325,20 @@ implementation
         freemem(buf,entryfilebufsize);
     end;
 
+  function tentryfile.getversion:integer;
+    var
+      l    : integer;
+      code : integer;
+      header : pentryheader;
+    begin
+      header:=getheaderaddr;
+      Val(header^.ver[1]+header^.ver[2]+header^.ver[3],l,code);
+      if code=0 then
+       result:=l
+      else
+       result:=0;
+    end;
+
 
   procedure tentryfile.flush;
     begin

+ 2 - 2
compiler/fppu.pas

@@ -208,9 +208,9 @@ var
            exit;
          end;
       { check for allowed PPU versions }
-        if not (ppufile.GetPPUVersion = CurrentPPUVersion) then
+        if not (ppufile.getversion = CurrentPPUVersion) then
          begin
-           Message1(unit_u_ppu_invalid_version,tostr(ppufile.GetPPUVersion),@queuecomment);
+           Message1(unit_u_ppu_invalid_version,tostr(ppufile.getversion),@queuecomment);
            ppufile.free;
            ppufile:=nil;
            exit;

+ 1 - 1
compiler/pmodules.pas

@@ -1405,7 +1405,7 @@ type
            Comment(V_Error,'Not a PPU File : '+PPUFn);
            Exit;
          end;
-        ppuversion:=inppu.GetPPUVersion;
+        ppuversion:=inppu.getversion;
         if ppuversion<CurrentPPUVersion then
          begin
            inppu.free;

+ 0 - 14
compiler/ppu.pas

@@ -132,7 +132,6 @@ type
     constructor Create(const fn:string);
     procedure closefile;override;
     function  CheckPPUId:boolean;
-    function  GetPPUVersion:integer;
   {read}
     { nothing special currently }
   {write}
@@ -196,19 +195,6 @@ begin
 end;
 
 
-function tppufile.GetPPUVersion:integer;
-var
-  l    : integer;
-  code : integer;
-begin
-  Val(header.common.ver[1]+header.common.ver[2]+header.common.ver[3],l,code);
-  if code=0 then
-   GetPPUVersion:=l
-  else
-   GetPPUVersion:=0;
-end;
-
-
 procedure tppufile.newheader;
 var
   s : string;

+ 1 - 1
compiler/utils/ppufiles.pp

@@ -150,7 +150,7 @@ begin
      Error('Error: Not a PPU File : '+PPUFn,false);
      Exit;
    end;
-  if inppu.GetPPUVersion<CurrentPPUVersion then
+  if inppu.getversion<CurrentPPUVersion then
    begin
      inppu.free;
      Error('Error: Wrong PPU Version : '+PPUFn,false);

+ 1 - 1
compiler/utils/ppumove.pp

@@ -266,7 +266,7 @@ begin
      Error('Error: Not a PPU File : '+PPUFn,false);
      Exit;
    end;
-  ppuversion:=inppu.GetPPUVersion;
+  ppuversion:=inppu.getversion;
   if ppuversion<CurrentPPUVersion then
    begin
      inppu.free;

+ 1 - 1
compiler/utils/ppuutils/ppudump.pp

@@ -3502,7 +3502,7 @@ begin
      exit;
    end;
 { Check PPU Version }
-  ppuversion:=ppufile.GetPPUVersion;
+  ppuversion:=ppufile.getversion;
 
   Writeln(['Analyzing ',filename,' (v',PPUVersion,')']);
   if PPUVersion<16 then