Skip to content

Commit

Permalink
POW 3.1.8, added O2Debug, RayTest, updated commctrl.mod
Browse files Browse the repository at this point in the history
  • Loading branch information
pahihu committed Jan 10, 2024
1 parent b48629e commit 263e1d5
Show file tree
Hide file tree
Showing 37 changed files with 16,254 additions and 2,896 deletions.
62 changes: 62 additions & 0 deletions Distribution/POW_318.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
POW zip package
===========================

This package contains the following items:

- pow32_30b version
- patches from the POW32 group's Files/Patches folder

The included patches are:

- BoostEd.Source.zip
- Boosted32.zip
- Opal.zip
- RTS.zip
- obrn32.zip
- pow.zip
- SymBrowser32.zip

To see the the actual contents of the package, please visit the
ChangeLog section at the end of this file.

I have recompiled the C sources with Visual C++ 6.0 and then
recompiled the whole package with itself. I have made some modifications
in the batch files for some packages to produce lib files in VC5 format,
since the linker included with POW understands this format only.

To install the redistributable DLLs please run the PostInstall.bat
file, after you extract the package contents in a directory.


Regards,
Andras Pahi
pahi@info-m.hu

ChangeLog
=========
240110 - added comctl32.lib, shell32.lib
- WinApi uses commctrl.mod V1.4 from Klaus Schultze (2003)
- added O2Debug tool from Klaus Schultze
- added RayTest example
240109 - stack size of pow.exe reduced to 64MB, now it runs in Win10/11
- fixed some linker bugs
- changed PostInstall.bat to handle Windows 32/64bit
080427 - stack size of pow.exe reduced (Vista GetOpen/SaveFileName bug)
- PostInstall.bat modified to handle Vista
060921 - no linker.log, unknown sections are omitted in link32
- log deactivated in RTS
050627 - SymBrowser32 updated to 2005/06/24, project file renamed to
SymbolFileBrowser
050624 - BoosteEd as of 2005/06/15
- SymBrowser32 included as of 2005/05/26, old Symbrowser removed
050316 - BoostEd mouse wheel fixes
- removed the Windows 2000 files, now boosted32 and obrn32
are linked without a base address
- BoostEd.ini file added to the config files
040903 - obrn32_w2k.dll and boosted32_w2k.ell are for Windows 2000
040824 - fixes for Pow from Klaus Schultze
040426 - missing credits.txt added
- comdlg32, kernel32, user32, gdi32 lib files converted
- initial configuration settings are added to .\Oberon-2\Config
- PostInstall.bat fixed to copy the configuration files
040416 Initial release with a PostInstall batch file
Binary file added Distribution/POW_318.zip
Binary file not shown.
262 changes: 262 additions & 0 deletions O2Debug/Administration.mod

Large diffs are not rendered by default.

813 changes: 813 additions & 0 deletions O2Debug/Common.mod

Large diffs are not rendered by default.

921 changes: 921 additions & 0 deletions O2Debug/Debug.mod

Large diffs are not rendered by default.

1,662 changes: 1,662 additions & 0 deletions O2Debug/Dump.mod

Large diffs are not rendered by default.

801 changes: 801 additions & 0 deletions O2Debug/DumpCodeView.mod

Large diffs are not rendered by default.

851 changes: 851 additions & 0 deletions O2Debug/DumpDataDir.mod

Large diffs are not rendered by default.

1,488 changes: 1,488 additions & 0 deletions O2Debug/DumpDataDirDebug.mod

Large diffs are not rendered by default.

223 changes: 223 additions & 0 deletions O2Debug/DumpHexData.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,223 @@
(*****************************************************************************)
(* *)
(* PROJECT: Oberon-2 Debugger *)
(* *)
(* MODULE: DumpHexData V 2.00.04 *)
(* 2003APR18 *)
(* PURPOSE: Processing HexData *)
(* *)
(* FUNCTIONS: *)
(* WriteLines *)
(* Generate lines to be displayed *)
(* *)
(* *)
(* COPYRIGHT: Klaus Schultze *)
(* Kamillenweg 15; 24217 Schönberg Tel. 04344 1445 *)
(* *)
(* CONFIGURATION MANAGEMENT *)
(* *)
(* CREATED 2000SEP02 *)
(* *)
(* UPDATED *)
(* *)
(* RELEASED *)
(* *)
(*****************************************************************************)

MODULE DumpHexData;


IMPORT
Common, UIStatusLine,
Strings,
WinBase, WinDef, WinGDI, WinUser,
SYSTEM;


CONST
Version* = "V 2.00.04";
Module* = "HexData";

LineEmpty = " ";
LineLength = 16;


VAR
hInst: WinDef.HANDLE;
ReturnCode: LONGINT;
ByteAddress: LONGINT; (* Pointer to the actual Byte *)
HexAddress,
AsciiData: ARRAY 20 OF CHAR;
HexData: ARRAY 90 OF CHAR;


(*****************************************************************************)
(* *)
(* ShowLine *)
(* zeigt eine Zeile (= 16 Byte) des aktuellen Blocks an *)
(* *)
(* INPUT: *)
(* LineNumber Nummer der Zeile, die ausgegeben werden soll *)
(* diese Nummer kann 0 oder 10H, 20H, 30H, ..., also ein *)
(* Vielfaches (16-fach) von 1 sein *)
(* Line Darstellung der Ascii Werte der Bytes, nicht *)
(* darstellbare Werte werden mit . angezeigt *)
(* *)
(* OUTPUT: *)
(* LRESULT wie war's *)
(* *)
(* *)
(* MESSAGES: *)
(* *)
(* COMMENTS: *)
(* *)
(*****************************************************************************)

PROCEDURE ShowLine (LineNumber: LONGINT;
VAR Line: ARRAY OF CHAR)
: LONGINT ;

VAR
ActAddress,
BytesRead: LONGINT;
i, j, IntByte: INTEGER;
MyByte: SYSTEM.BYTE;
MyBytes: ARRAY 17 OF SYSTEM.BYTE;


BEGIN;
ByteAddress := LineNumber*LineLength;
BytesRead := Common.ReadBytes(ByteAddress, LineLength, MyBytes);
IF BytesRead=0 THEN
RETURN 0
END;

AsciiData[0] := ":";
AsciiData[1] := " ";

HexData[0] := ":";
HexData[1] := " ";

Strings.HexStr(ByteAddress, HexAddress);
Strings.RightAlign(HexAddress, 9);
FOR j:=0 TO (LEN(HexAddress)-1) DO;
IF HexAddress[j]=" "
THEN
HexAddress[j] := "0";
END;
END (* FOR j:=0 TO (LEN(HexAdresse)-1) DO *);
FOR i:=0 TO 15 DO
MyByte := MyBytes[i];
MyByte := SYSTEM.LSH(MyByte, -4);
MyByte := SYSTEM.VAL(SYSTEM.BYTE, SYSTEM.BITAND(SYSTEM.VAL(SHORTINT, MyByte), 8+4+2+1));
CASE SYSTEM.VAL(SHORTINT, MyByte) OF
0..9:
HexData[3*i+2] := CHR(48+SYSTEM.VAL(SHORTINT, MyByte));
|
10..15:
HexData[3*i+2] := CHR(55+SYSTEM.VAL(SHORTINT, MyByte));
ELSE
HexData[3*i+2] := "X";
END;

MyByte := MyBytes[i];
MyByte := SYSTEM.VAL(SYSTEM.BYTE, SYSTEM.BITAND(SYSTEM.VAL(SHORTINT, MyByte), 8+4+2+1));
CASE SYSTEM.VAL(SHORTINT, MyByte) OF
0..9:
HexData[3*i+3] := CHR(48+SYSTEM.VAL(SHORTINT, MyByte));
|
10..15:
HexData[3*i+3] := CHR(55+SYSTEM.VAL(SHORTINT, MyByte));
ELSE
HexData[3*i+3] := "X";
END;
HexData[3*i+4] := " ";

MyByte := MyBytes[i];
CASE SYSTEM.VAL(SHORTINT, MyByte) OF
32..126:
AsciiData[i+2] := CHR(SYSTEM.VAL(SHORTINT, MyByte));
ELSE
AsciiData[i+2] := ".";
END (* CASE MyByte OF *);
END (* FOR i:=0 TO 15 DO *);

HexData[2+3*i+1] := 0X;
AsciiData[2+i+1] := 0X;

Line[0] := 0X;
Strings.Append(Line, HexAddress);
Strings.Append(Line, HexData);
Strings.Append(Line, AsciiData);

RETURN BytesRead

END ShowLine;


(*****************************************************************************)
(* *)
(* WriteLines *)
(* Displays data in Hex format *)
(* *)
(* INPUT: *)
(* *)
(* OUTPUT: *)
(* *)
(* *)
(* MESSAGES: *)
(* *)
(* COMMENTS: *)
(* *)
(*****************************************************************************)

PROCEDURE WriteLines* (FirstLineP: Common.ScreenLineP;
VAR NumberOfCol: LONGINT)
: LONGINT;

VAR
ActLine,
MyLine: Common.ScreenLineP;
NumberOfBytes,
NumberOfLines: LONGINT;

BEGIN

NumberOfLines := 0;
ActLine := FirstLineP;
ActLine.Format := Common.Text01;
NumberOfBytes := ShowLine(NumberOfLines, ActLine.Text);
NumberOfCol := Strings.Length(ActLine.Text);

REPEAT
INC(NumberOfLines);
IF ActLine.Next=NIL THEN
NEW(MyLine);
MyLine.Previous := ActLine;
ActLine.Next := MyLine;
ActLine := MyLine;
ActLine.Next := NIL;
ELSE
ActLine := ActLine.Next;
END;
ActLine.Text[0] := 0X;
ActLine.Format := Common.Text01;
NumberOfBytes := ShowLine(NumberOfLines, ActLine.Text);
UNTIL NumberOfBytes=0;

RETURN NumberOfLines

END WriteLines;


(*****************************************************************************)
(*****************************************************************************)
(* *)
(*****************************************************************************)
(*****************************************************************************)
BEGIN;

ByteAddress := 0;

END DumpHexData.

Loading

0 comments on commit 263e1d5

Please sign in to comment.