Mind State Software
 HOME  | FIX ME NOW  | PRODUCTS & SERVICES  | PROJECT PRICING  | CLIENTS  | SIGN ME UP  | ABOUT US  | 1kWORD Video Training 

March 29th, 2024

We have a great track record!

Our clients include:

Qwest Communications

Community Development Group CDG

Qwest Wireless Communications

Indirect Sales
Pact Team
Product Literature mailings
Home and Personal Services
Late Payment Collections System
Swift Equipment Exchange Function
Equipment Rebate offer

Level 3

Programming Resource allocation

Tekton Web Development

Tekton Web requested our services to convert binary dumps into seamless financial reporting data.

Tekton's clients had outdated equipment which produced transaction data as daily binary file dumps.



After an examination of the binary data, we asked the customer to help us reverse engineer the binary by generating simple transactions. With this data, we were able to recognize floats, integers and hexadecimal transaction types.

The final challenge was to understand the bit mapping of 6 byte float values.

After researching several sites the internet, we discovered that the 6 byte real used in Delphi version 3 and older and Borland's Object Pascal. The author of the following web page finalized our missing calculation for float conversion with the following calculation:

http://www.merlyn.demon.co.uk/programs/floatval.pas

function SixToAns(const Six : real{48}) : Tanswer ;
const Q6 : extended = 1.0/256.0 ;
type A6 = array [1..6] of byte ;
var S : extended ; A : A6 absolute Six ;
begin
if A[1]=0 then begin SixToAns := 0.0 ; EXIT end ;
S := 1.0 + 2.0 * ((((A[2]*Q6+A[3])*Q6+A[4])*Q6+A[5])*Q6+(A[6] and $7F))*Q6 ;
if A[6]>127 then S := -S ;
SixToAns := S * TwoTo(integer(A[1])-129) end {SixToAns} ;

The final output was generated as normalized database records, which can be stored in any common relational database.




Mind State Software Developing Inc. - Here to help
All Logos and Trademarks in this site are the property of their respective owners.