Data-ChipsChallenge
view release on metacpan or search on metacpan
doc/ccfile.html view on Meta::CPAN
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="GENERATOR" content="/bin/vi" />
<title>Chip's Challenge File Layout Information</title>
<style type="text/css">
body { font-family: verdana, arial, helvetica, sans-serif; }
h1 { color: #006; }
h2 { color: #006; }
</style>
</head>
<body>
<h1>Chip's Challenge File Layout Information </h1>
<h2>(Copyright 1997 Greg Heier)</h2>
<p><strong>NOTE: This document was contributed by a visitor who wishes to
remain anonymous, and replaces the information I had on this site before
(it is far more complete). There may be an inaccuracy here and there, and
needs some editing, but other than that it should prove to be very useful
to those who might hack CHIPS.DAT a bit.</strong></p>
<p><strong>Amended and HTML cleaned up by John Elliott</strong></p>
<p>Below you will find a description of the layout of
the file CHIPS.DAT.</p>
<p>Each level of Chips Challenge is made up on a 32x32 tile grid. In
addition, each Chip's Challenge level is made up of two layers: upper and
lower. This allows chips to be placed under dirt blocks and monsters on top
of cloning machines.</p>
<h2>File Header</h2>
<table border="1" summary="This lists the fixed six-byte area at the start of CHIPS.DAT">
<tr><th>Offset</th> <th colspan="2">Description</th></tr>
<tr><td>$00-$03</td><td>Unsigned Long</td><td>
This is a 'magic number'. CHIPS.EXE uses this to check
for a valid CHIPS.DAT file. The value must be
$0002AAAC. Tile World also accepts $0102AAAC and uses it
to select Atari Lynx rules.</td></tr>
<tr><td>$04-$05</td><td>Unsigned Word</td><td>Number of levels in the file</td></tr>
</table>
<h2>Format of a level:</h2>
<h3>General information</h3>
<p>The first 8 bytes of a level have fixed meanings:</p>
<table border="1" summary="This table describes the start of a level record">
<tr><td>Unsigned Word</td>
<td>Number of bytes in this level (not including this word)</td></tr>
<tr><td>Unsigned Word</td><td>Level number </td></tr>
<tr><td>Unsigned Word</td><td>Time (in seconds).
A value of ZERO indicates no time limit.</td></tr>
<tr><td>Unsigned Word</td><td>Number of chips to pick up </td></tr>
</table>
( run in 1.434 second using v1.01-cache-2.11-cpan-2398b32b56e )