For Programmers: Free Programming Magazines  


Home > Archive > Compression > September 2004 > "Down Pillow" Control Code Creation: Step 2 of 88









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author "Down Pillow" Control Code Creation: Step 2 of 88
Plato777

2004-09-05, 3:55 pm

Creation of the "Down Pillow"
Compression Algorithm Control
Codes: Step 2 of 88

I am posting a series of steps
to comp.compression so that
there can be an external record
of my efforts to create a
sucessful copy of control codes
to use in the "Down Pillow"
compression algorithm as
discussed earlier this year.

Please disregard these posts
if you value your time; time
is money of course. You are
warned up front, so don't
accuse me of wasting your time.
Concern yourself only if I am
sucessful. If that time comes
you will have access to everything
you need to know in the archive.
But, if you are like me and love
wasting your time on frivolous
pursuits play along with me if
you dare.

Erik T. Evenson
---------------------------------

Step 2 of 88

Split the random number file
DPC01_01.DAT of length
17,694,720 bytes into nine parts
in sequential order:

Part 1; 5,242,880 bytes, file name DPC02_01.DAT
Part 2; 5,242,880 bytes, file name DPC02_02.DAT
Part 3; 5,242,880 bytes, file name DPC02_03.DAT
Part 4; 327,680 bytes, file name DPC02_04.DAT
Part 5; 327,680 bytes, file name DPC02_05.DAT
Part 6; 327,680 bytes, file name DPC02_06.DAT
Part 7; 327,680 bytes, file name DPC02_07.DAT
Part 8; 327,680 bytes, file name DPC02_08.DAT
Part 9; 327,680 bytes, file name DPC02_09.DAT


Use a commercial disk/file utility
program package to split the file
or use the following QBASIC Program
that I wrote:

-------------------------------
REM PROGRAM: SPLITER2.BAS
REM This program spilts the DPC01_01.DAT into the
' nine parts as described in STEP (2).

DIM q$(10)

LET q$(1) = "DPC01_01.DAT"
LET q$(2) = "DPC02_01.DAT"
LET q$(3) = "DPC02_02.DAT"
LET q$(4) = "DPC02_03.DAT"
LET q$(5) = "DPC02_04.DAT"
LET q$(6) = "DPC02_05.DAT"
LET q$(7) = "DPC02_06.DAT"
LET q$(8) = "DPC02_07.DAT"
LET q$(9) = "DPC02_08.DAT"
LET q$(10) = "DPC02_09.DAT"

LET n = 1
GOSUB 100
LET n = n + 1
GOSUB 200

FOR d# = 1 TO 2160
IF d# = 641 OR d# = 1281 OR d# = 1921 THEN GOSUB 200
IF d# = 1961 OR d# = 2001 OR d# = 2041 THEN GOSUB 200
IF d# = 2081 OR d# = 2121 THEN GOSUB 200
GET #1, d#
GET #2, c#
LSET e1$ = a1$
PUT #2, c#
LET c# = c# + 1

NEXT d#

CLOSE
END


100 CLOSE #1
OPEN "R", #1, q$(n), 8192
FIELD #1, 8192 AS a1$
RETURN

200 CLOSE #2
OPEN "R", #2, q$(n), 8192
FIELD #2, 8192 AS e1$
LET c# = 1
PRINT "creating "; q$(n)
LET n = n + 1
RETURN

----------------------------------------

More to follow.
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com