DataMuseum.dk

Presents historical artifacts from the history of:

DANOSI

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DANOSI

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦f46b577e0⟧ TextFile

    Length: 4468 (0x1174)
    Types: TextFile
    Names: »VMMDUMP.PAS«

Derivation

└─⟦02956c927⟧ Bits:30010510 DVBS1.SW2114.src.2.14-1 SW2114 REAL #1/4 TIME PASCAL SOURCE REL 2.14
    └─⟦this⟧ »RTP\VMMDUMP.PAS« 
└─⟦4f587ad96⟧ Bits:30010518 DVBS1.SW2114.src.2.7-1 SW2114 1/4 Real Time Pascal 2.7 92.06.16
    └─⟦this⟧ »RTP\VMMDUMP.PAS« 
└─⟦a2a9e188c⟧ Bits:30010526 DVBS1.SW2114.src.2.6-4 RTP Compiler Source SW2104+SW2114 Disk 1 92.02.03 HEJ HHA
    └─⟦this⟧ »RTP\VMMDUMP.PAS« 
└─⟦b607d6035⟧ Bits:30010532 RTP compiler Source 1 2.14 26/9(?)-92 DVBS1.SW2114.src.2.14-8
    └─⟦this⟧ »VMMDUMP.PAS« 
└─⟦fd2665794⟧ Bits:30010523 DVBS1.SW2114.src.2.6-1 RTP compiler source SW2104+SW2114 Disk#1 30/1-92 HHA
    └─⟦this⟧ »RTP\VMMDUMP.PAS« 

TextFile

{$O+,F+}\r
(* --------    DUMP TRACE OF VIRTUAL MEMORY MANAGER   -------- *)\r
UNIT vmmdump;\r
INTERFACE\r
USES pscplm, mpaunit;\r
\r
PROCEDURE vmmdumpstcs(name: string;VAR stcs: stcs_type);\r
PROCEDURE vmmdumpbyte(name: string; b:BYTE );\r
PROCEDURE vmmdumpword(name: string; w:WORD);\r
PROCEDURE vmmdumpskip;\r
PROCEDURE vmmdumpva(va_high, va_low: WORD);\r
PROCEDURE vmmdumplocks(lock: BYTE);\r
PROCEDURE vmmdumpptr(VAR ptr);\r
PROCEDURE vmmdumpsize(r_size: WORD);\r
PROCEDURE vmmdumpline;\r
PROCEDURE vmmdumperror(state: BYTE; e_code: WORD);\r
PROCEDURE vmmdumpnewline;\r
PROCEDURE vmmdumpstring(name: string);\r
PROCEDURE vmmdumproutine(name: string);\r
\r
\r
IMPLEMENTATION\r
\r
(* ---------------       DUMP CONVERT           --------------- *)\r
\r
PROCEDURE write_hex_word(w: WORD);\r
VAR\r
  hex_val: ARRAY[0..3] OF BYTE;\r
  temp: BYTE;\r
  pos: BYTE;\r
BEGIN\r
  FOR pos:=0 TO 3 DO\r
  BEGIN\r
    temp:= w AND 15;\r
    if temp<10 then temp:= temp+ORD('0') ELSE temp:=temp+ORD('A')-10;\r
    hex_val[3-pos]:= temp;\r
    w:= w SHR 4;\r
  END;\r
  FOR pos:=0 TO 3 DO write(testoutvmm, hex_val[pos]);\r
END; (* write_hex_word *)\r
\r
(* ---------------       DUMP STCS              --------------- *)\r
PROCEDURE vmmdumpstcs(name: string;VAR stcs: stcs_type);\r
BEGIN\r
  writeln(testoutvmm);\r
  writeln(testoutvmm);\r
  writeln(testoutvmm,'********');\r
  write(testoutvmm,'* STCS *  ');\r
  write(testoutvmm,name);\r
  write(testoutvmm,'  ACCESS=');\r
  write(testoutvmm,stcs.access_high: 5);\r
  write(testoutvmm,'*64K+');\r
  write(testoutvmm,stcs.access_low: 5);\r
  write(testoutvmm,'  READ=');\r
  write(testoutvmm,stcs.disk_reads: 5);\r
  write(testoutvmm,'  WRITE=');\r
  writeln(testoutvmm,stcs.disk_writes: 5);\r
  writeln(testoutvmm,'********');\r
  writeln(testoutvmm);\r
END; (* vmmdumpstcs *)\r
\r
(* ---------------       DUMP BYTE              --------------- *)\r
PROCEDURE vmmdumpbyte(name: string; b:BYTE );\r
BEGIN\r
  write(testoutvmm,name);\r
  write(testoutvmm,b: 3);\r
  write(testoutvmm,'    ');\r
END; (* vmmdumpbyte *)\r
\r
(* ---------------       DUMP WORD              --------------- *)\r
PROCEDURE vmmdumpword(name: string; w:WORD);\r
BEGIN\r
  write(testoutvmm,name);\r
  write(testoutvmm,w:5);\r
  write(testoutvmm,'  ');\r
END; (* vmmdumpword *)\r
\r
(* ---------------     SKIP DUMP PARAMETER      --------------- *)\r
PROCEDURE vmmdumpskip;\r
BEGIN\r
  write(testoutvmm,'               ');\r
END; (* vmmdumpskip *)\r
\r
(* ---------------     DUMP VIATUAL ADDRESS     --------------- *)\r
PROCEDURE vmmdumpva(va_high, va_low: WORD);\r
BEGIN\r
  write(testoutvmm,' VA = ');\r
  write(testoutvmm,va_high:6) ;\r
  write(testoutvmm,va_low:6) ;\r
  write(testoutvmm,' ');\r
END; (* vmmdumpva *)\r
\r
(* ---------------          DUMP LOCKS          --------------- *)\r
PROCEDURE vmmdumplocks(lock: BYTE);\r
BEGIN\r
  write(testoutvmm,' LOCKS =');\r
  write(testoutvmm,lock: 5);\r
  write(testoutvmm,'    ');\r
END; (* vmmdumplocks *)\r
\r
(* ---------------       DUMP STORED PTR        --------------- *)\r
PROCEDURE vmmdumpptr(VAR ptr);\r
BEGIN\r
  write(testoutvmm,' PTR = ');\r
  write_hex_word(SEG(ptr));\r
  write(testoutvmm,':');\r
  write_hex_word(OFS(ptr));\r
END; (* vmmdumpptr *)\r
\r
(* ---------------       DUMP RECORD SIZE       --------------- *)\r
PROCEDURE vmmdumpsize(r_size: WORD);\r
BEGIN\r
  write(testoutvmm,' SIZE =');\r
  write(testoutvmm,r_size: 5);\r
  write(testoutvmm,'   ');\r
END; (* vmmdumpsize *)\r
\r
(* ---------------        DUMP LINENUMBER       --------------- *)\r
PROCEDURE vmmdumpline;\r
BEGIN\r
  write(testoutvmm,' LINE =');\r
  write(testoutvmm,linenumber: 5);\r
  write(testoutvmm,'   ');\r
END;\r
\r
(* ---------------     DUMP STATE AND ERROR     --------------- *)\r
PROCEDURE vmmdumperror(state: BYTE; e_code: WORD);\r
BEGIN\r
  write(testoutvmm,' STATE =');\r
  write(testoutvmm, state: 3);\r
  write(testoutvmm,'     ERROR =');\r
  write(testoutvmm,e_code:5);\r
  write(testoutvmm,'  ');\r
END; (* vmmdumperror *)\r
\r
(* ---------------        DUMP NEW LINE         --------------- *)\r
PROCEDURE vmmdumpnewline;\r
BEGIN\r
  writeln(testoutvmm);\r
END; (* vmmdumpnewline *)\r
\r
(* ---------------        DUMP STRING           --------------- *)\r
PROCEDURE vmmdumpstring(name: string);\r
BEGIN\r
  write(testoutvmm,name);\r
END; (* vmmdumpstring *)\r
\r
(* ---------------      DUMP ROUTINE NAME       --------------- *)\r
PROCEDURE vmmdumproutine(name: string);\r
VAR\r
  i: INTEGER;\r
BEGIN\r
  write(testoutvmm,name);\r
  FOR i:=LENGTH(name) TO 24 DO write(testoutvmm,' ');\r
END; (* vmmdumproutine *)\r
\r
BEGIN\r
END.\r
\r
\r