Skip to content
This repository was archived by the owner on Oct 19, 2021. It is now read-only.

Commit 5461448

Browse files
committed
Commit v2 changes.
1 parent 355b022 commit 5461448

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1483
-18146
lines changed

README.md

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,21 @@ XDK Assist is an application designed to allow you to easily communicate with an
44

55
The original XDK Assist was originally closed source software. It was a product of me being on the original EvolutionX team and creating custom tools for our work. It eventually evolved into something more robust and I released it to the public as-is. A few updates were released, but the project never had an official homepage or source of truth for downloads.
66

7-
# Why release the code so late?
8-
9-
I recently saw that some people are still using XDK Assist today even though it's been almost two decades since the original Xbox was released. Two decades ago I was a much different developer and wasn't so open to open sourcing my programs. Today, however, I'm all for it. I'm hoping release of this code might benefit the few folks out there who still use it. At a minimum it at least helps to preserve what I consider an important part of the Xbox homebrew scene.
7+
## How is this branch different?
108

11-
## Not so fast...
9+
The `2.x-dev` branch is different than the `master` branch in that it contains an unreleased version of XDK Assist. This version was a rewrite of the application to be more streamlined, faster, more stable, and remove a lot of cruft. Development of this version was never completed. It compiles and will run, but I do not remember what features were implemented beyond just having a UI. It doesn't look like the dump button is wired up, so functionality of this version is extremely limited. It's included for posterity.
1210

13-
There are, however, some caveats. I was also a much (much) more junior developer two decades ago and did not use proper source control systems. Shoot, two decades ago I wasn't much of a developer at all. In the codebase you'll find a lack of decent commenting, organization, naming, etc. You'll also find lines of functional code commented out with no explanation as to why.
14-
15-
This release of the code is also compiled from multiple backups. I've attempted to pull in the latest changes from each backup, but it's entirely possible I've missed something or pulled out a vital component.
11+
# Why release the code so late?
1612

17-
Given the above items it's possible this application actually does not work. I have no way to test that this application still works as expected, since it requires an original Xbox a running debug bios. It will compile and run as expected, but there are things I simply cannot review. For example, `TBreakpoint` is commented out in `XBOXManager.pas` and is present in `Breakpoint.pas`. Was that a refactor in progress? Did I finish? Who knows.
13+
I recently saw that some people are still using XDK Assist today even though it's been almost two decades since the original Xbox was released. Two decades ago I was a much different developer and wasn't so open to open sourcing my programs. Today, however, I'm all for it. I'm hoping release of this code might benefit the few folks out there who still use it. At a minimum it at least helps to preserve what I consider an important part of the Xbox homebrew scene.
1814

1915
# Requirements
2016

2117
* Delphi 2007 <https://www.embarcadero.com>
2218
* Indy 10.1.1 <https://www.indyproject.org>
23-
* TMPHexEditor (bundled: hexcontrol)
2419
* A modded original Xbox with a debug bios loaded (i.e. EvoX)
2520

26-
I was able to get this to compile again under Delphi 2007 with Indy 10 that ships with Delphi 2007. It also requires installation of a TMPHexEditor component (bundled with) from Markus Stephany (<https://www.stephanys.de>). You can find a newer version of this component, but it is not tested. You may be able to get it to compile with different versions of Delphi or Indy, but those are untested as well.
21+
I was able to get this to compile again under Delphi 2007 with Indy 10 that ships with Delphi 2007. You may be able to get it to compile with different versions of Delphi or Indy, but those are untested as well.
2722

2823
# Shoutouts
2924

XDKAssist.dpr

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,29 @@
11
program XDKAssist;
22

3+
{%ToDo 'XDKAssist.todo'}
4+
35
uses
46
Forms,
57
Dialogs,
68
SysUtils,
7-
Main in 'src\Main.pas' {frmMain},
8-
Breakpoint in 'src\Breakpoint.pas',
9-
LogStream in 'src\LogStream.pas',
10-
Tool in 'src\Tool.pas',
11-
Settings in 'src\Settings.pas',
12-
AppGlobal in 'src\AppGlobal.pas',
13-
XBOXManager in 'src\XBOXManager.pas';
9+
MainForm in 'src\MainForm.pas' {frmMain},
10+
CXboxManager in 'src\CXboxManager.pas',
11+
CXMemoryManager in 'src\CXMemoryManager.pas',
12+
CXBreakpointManager in 'src\CXBreakpointManager.pas',
13+
Global in 'src\Global.pas',
14+
Log in 'src\Log.pas',
15+
AppStrings in 'src\AppStrings.pas';
16+
17+
{$E exe}
1418

1519
{$R *.res}
1620

1721
begin
1822
Application.Initialize;
19-
Application.Title := 'XDK Assist';
23+
Application.Title := 'XDK Assist v2';
2024
try
2125
Application.CreateForm(TfrmMain, frmMain);
22-
Application.Run;
26+
Application.Run;
2327
except
2428
on E: Exception do ShowMessage(E.Message);
2529
end;

XDKAssist.dproj

Lines changed: 21 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,22 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<PropertyGroup>
4-
<ProjectGuid>{bafd21de-c786-409f-87d5-f9f2162c20e4}</ProjectGuid>
4+
<ProjectGuid>{5f6ecf7c-8be1-412e-b91f-a6378dc92d81}</ProjectGuid>
55
<MainSource>XDKAssist.dpr</MainSource>
66
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
77
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
88
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
99
<DCC_DependencyCheckOutputName>build\debug\bin\XDKAssist.exe</DCC_DependencyCheckOutputName>
10-
<DCC_EnabledPackages>true</DCC_EnabledPackages>
11-
<DCC_UsePackage>vcl;rtl;vclx;vclactnband;dbrtl;bdertl;dsnap;teeUI;teedb;tee;adortl;IndyCore;IndySystem;IndyProtocols;xmlrtl;inet;IntrawebDB_90_100;Intraweb_90_100;vclie;inetdbbde;inetdbxpress;soaprtl;VclSmp;MPHexEditor_D7;vcldb</DCC_UsePackage>
1210
</PropertyGroup>
1311
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
1412
<Version>7.0</Version>
13+
<DCC_FullBooleanEvaluations>True</DCC_FullBooleanEvaluations>
1514
<DCC_DebugInformation>False</DCC_DebugInformation>
1615
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
16+
<DCC_IntegerOverflowCheck>True</DCC_IntegerOverflowCheck>
17+
<DCC_RangeChecking>True</DCC_RangeChecking>
18+
<DCC_PentiumSafeDivide>True</DCC_PentiumSafeDivide>
1719
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
18-
<DCC_UnitSearchPath>$(BDS)\Lib\Debug\Indy10;$(BDS)\lib\Debug</DCC_UnitSearchPath>
19-
<DCC_ResourcePath>$(BDS)\Lib\Debug\Indy10;$(BDS)\lib\Debug</DCC_ResourcePath>
20-
<DCC_ObjPath>$(BDS)\Lib\Debug\Indy10;$(BDS)\lib\Debug</DCC_ObjPath>
21-
<DCC_IncludePath>$(BDS)\Lib\Debug\Indy10;$(BDS)\lib\Debug</DCC_IncludePath>
2220
<DCC_Define>RELEASE</DCC_Define>
2321
<DCC_ExeOutput>build\release\bin</DCC_ExeOutput>
2422
<DCC_DcuOutput>build\release</DCC_DcuOutput>
@@ -28,11 +26,12 @@
2826
</PropertyGroup>
2927
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
3028
<Version>7.0</Version>
31-
<DCC_SymbolReferenceInfo>2</DCC_SymbolReferenceInfo>
32-
<DCC_UnitSearchPath>$(BDS)\Lib\Debug\Indy10;$(BDS)\lib\Debug</DCC_UnitSearchPath>
33-
<DCC_ResourcePath>$(BDS)\Lib\Debug\Indy10;$(BDS)\lib\Debug</DCC_ResourcePath>
34-
<DCC_ObjPath>$(BDS)\Lib\Debug\Indy10;$(BDS)\lib\Debug</DCC_ObjPath>
35-
<DCC_IncludePath>$(BDS)\Lib\Debug\Indy10;$(BDS)\lib\Debug</DCC_IncludePath>
29+
<DCC_FullBooleanEvaluations>True</DCC_FullBooleanEvaluations>
30+
<DCC_IntegerOverflowCheck>True</DCC_IntegerOverflowCheck>
31+
<DCC_RangeChecking>True</DCC_RangeChecking>
32+
<DCC_PentiumSafeDivide>True</DCC_PentiumSafeDivide>
33+
<DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
34+
<DCC_DebugVN>True</DCC_DebugVN>
3635
<DCC_Define>DEBUG</DCC_Define>
3736
<DCC_ExeOutput>build\debug\bin</DCC_ExeOutput>
3837
<DCC_DcuOutput>build\debug</DCC_DcuOutput>
@@ -44,17 +43,7 @@
4443
<Borland.Personality>Delphi.Personality</Borland.Personality>
4544
<Borland.ProjectType />
4645
<BorlandProject>
47-
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">0</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">1</VersionInfo><VersionInfo Name="Build">7</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">True</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">1033</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="FileVersion">0.0.1.7</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="CompanyName">EvoX-T</VersionInfoKeys><VersionInfoKeys Name="FileDescription">Private EvoX-T training tool</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">XDK Assist</VersionInfoKeys><VersionInfoKeys Name="SpecialBuild">Rushed public release</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
48-
49-
50-
51-
52-
53-
54-
55-
56-
57-
46+
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">False</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">1033</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">XDKAssist.dpr</Source></Source> <Excluded_Packages>
5847

5948

6049

@@ -75,22 +64,23 @@
7564

7665
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
7766
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
78-
</Excluded_Packages><Source><Source Name="MainSource">XDKAssist.dpr</Source></Source></Delphi.Personality><ModelSupport>False</ModelSupport></BorlandProject></BorlandProject>
67+
</Excluded_Packages>
68+
</Delphi.Personality></BorlandProject></BorlandProject>
7969
</ProjectExtensions>
8070
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
8171
<ItemGroup>
8272
<DelphiCompile Include="XDKAssist.dpr">
8373
<MainSource>MainSource</MainSource>
8474
</DelphiCompile>
85-
<DCCReference Include="src\AppGlobal.pas" />
86-
<DCCReference Include="src\Breakpoint.pas" />
87-
<DCCReference Include="src\LogStream.pas" />
88-
<DCCReference Include="src\Main.pas">
75+
<DCCReference Include="src\AppStrings.pas" />
76+
<DCCReference Include="src\CXboxManager.pas" />
77+
<DCCReference Include="src\CXBreakpointManager.pas" />
78+
<DCCReference Include="src\CXMemoryManager.pas" />
79+
<DCCReference Include="src\Global.pas" />
80+
<DCCReference Include="src\Log.pas" />
81+
<DCCReference Include="src\MainForm.pas">
8982
<Form>frmMain</Form>
9083
</DCCReference>
91-
<DCCReference Include="src\Settings.pas" />
92-
<DCCReference Include="src\Tool.pas" />
93-
<DCCReference Include="src\XBOXManager.pas" />
9484
<None Include="XDKAssist.todo" />
9585
</ItemGroup>
9686
</Project>

XDKAssist.res

-796 Bytes
Binary file not shown.

XDKAssist.todo

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,2 @@
1-
{TODO : Display percentage complete on progress bars}
2-
{TODO : For color logging have a rich it up function}
3-
{TODO : Fix disconnection tracking (linked with status checking?)}
4-
{TODO : Command queuing with response checking}
5-
{TODO -cLayout : Better status bar information (program status and what not)}
6-
{DONE -cLayout : Show and hide the main log. Have another log visible by a tabbed window}
7-
{TODO : Possible disassembly view?}
8-
{TODO : have a register compare option}
9-
{TODO : Keep complete breakpoint history with times and registers: list box that when you click it it changes the register information}
10-
{TODO : go through each function and make a list of what you don't like, then go back later and fix all the stuff}
11-
{TODO : Eat messages option will eat common messages like 200- ok and n: execution stopped}
12-
{TODO : Cut out 66% ram usage by reworking buffer stuff. Wait until other changes are in, so you can easily fix any speed issues}
13-
{TODO -cLayout : Redesign log area - show xbox logo faintly behind text, outline the input box, add coloring}
14-
{TODO : Solidify status changes and checking of status}
15-
{TODO : Internal tools editor}
16-
{TODO -cLayout : Redesign register window and breakpoint area}
17-
{TODO -cControls : THistoryBox - contains a 20 string list of previously entered text}
18-
{TODO -cControls : TMPHexEdit - rewrite to allow direct memory access to buffer - or - focus buffer elswhere}
19-
{TODO -cControls : THexBox - accepts only valid hexadecimal input. Features the ability to validate pastes, accept or rject different styles of notation ($,h,0x) and force capitals or zero fills}
1+
2+

docs/README.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

docs/What_Hack0r_Complains_About_&_Wants.txt

Lines changed: 0 additions & 35 deletions
This file was deleted.

docs/xdkassist.ini

Lines changed: 0 additions & 57 deletions
This file was deleted.

docs/xdkassist.notes

Lines changed: 0 additions & 44 deletions
This file was deleted.

0 commit comments

Comments
 (0)