
        h u g i   s i z e   c o d i n g   c o m p e t i t i o n   # 7

                                 infofile v1.0


Hi all!

Yet again, you're all invited to compete in a size coding competition. This is
the second compo in 1999 that will count for the new world league table.

--------------------------------- [THE TASK] ---------------------------------

Credits for the initial drafts of the rules go to Jibz, TAD and INT-E.

This  compo  is the sequel  to Hugi Size Coding Competition #2: While you then
had  to code a program that displayed  a certain text without accessing to any
external  file,  your  program now has  to  display  a certain picture without
accessing  to  any  external  file. As simple  as  that - and  as numerous the
various possibilities to achieve a small size.


Details:

Given  a  raw  VGA  screen image and  palette  create  a  packer program which
produces  the  file ENTRY.COM which when run  will  display the image included
in HUGI.RAW on the screen using VGA mode 13 hex.

The size of the ENTRY.COM will be judged, the smaller it is, the better!


Raw Image:

The  file  consist of 768 bytes of  palette data immediately followed by 64000
bytes of raw image data.

The palette is in the standard VGA format:

        - 256 colour triplets
        - a triplet is 3 bytes (1 Red, 1 Green, 1 Blue)
        - each byte has the range 00 to 3F hex (0 to 63 decimal)

        = 768 bytes

The image is in the standard VGA 320 x 200 x 256 format:

        - 320 pixels/bytes per line
        - 200 lines high
        - 256 colours

        = 64000 bytes


ENTRY.COM:

This MUST do the following in THIS order:

  1. switch to VGA mode 13 hex
  2. depack  the image to the screen and  set the palette to the colours given
     in  the raw image palette (any unused image colours can be ignored).  You
     don't  have  to set exactly the same palette  as in the raw image, in the
     sense  that you are allowed to make any changes as long as the rgb values
     of each pixel on the screen are exactly the same as for the raw image.
  3. wait for a single key press using INT 16h
  4. switch back to mode 3 hex (text mode)
  5. exit cleanly to DOS

It must NOT do the following:

   - crash
   - use any external files
   - rely on any previously loaded code or data in memory
   - create any new files on disk


ENTRY.COM registers:

You may assume that the registers have these values (all in hex):
(xx - means an unknown value which MUST NOT be assumed)

            AX = 0000
            BX = 0000
            CX = 00FF
            DX = CS = DS = ES = SS = xxxx

            SI = 0100
            DI = FFFE
            BP = 09xx
            SP = FFFE
            IP = 0100


Other rules for the entry:

The  execution  time of ENTRY.COM must not  exceed 5 minutes on my computer (a
standard Pentium 200).

You must not disable interrupts (CLI).


The Packer:

This  only has to deal with reading the raw 64768 byte image. It does NOT need
to worry about PCX, GIF or BMP etc...

It  only  has  to be able to create  a  working ENTRY.COM on the supplied test
image.

Your packer may take no longer than 5 minutes to pack the supplied image on my
computer.


Compression:

You  may NOT use a commercial or someone else's packer program such as PKLITE,
EXEPACK, WWPACK, DIET, etc.

You  must give complete source code for  the PACKER and the decompression code
(if  possible). For programs which build  the decompression code from a number
of  components  based  on  the  image  being  compressed,  this  is not always
possible.


Checking:

The output from your ENTRY.COM program will be captured using a screen grabber
utility  to  verify that the image  was  compressed and decompressed correctly
(including the palette).

In  short  the image produced by your  ENTRY.COM must be an RGB-perfect copy of
the original source image.


As always, your entry must...
                          ...have the filename entry.com.
                          ...work in Windows95 DOS box.
                          ...work at least on my PC.
                          ...exit without crashing when regular input.
                          ...not depend on its filename.

All instructions till .586 (Pentium) can be used.

Your entry does not have to work with LOADHIGH.

  !! Please check if your program fits to all rules before submitting it !!

The  included  file testit.bat tests whether  your  program displays the image
correctly. I will check your entries with the same program.

--------------------------------- [EXAMPLE] ----------------------------------

An  example program by Jibz is  attached (example.zip). You can use testit.bat
in test.zip, made by TAD and Ruud, to check if your entry works correctly.

If  you  need compression-related information,  check out Dario's Phong Wisdom
Vault: http://www.geocities.com/SiliconValley/Byte/6789/.

-------------------------------- [SUBMISSION] --------------------------------

You have to send me

() the sourcecode of your packer
() the executable of your packer
() the executable of your entry

so that I can analyse and evaluate your entry.

Send your entries to:
                         hugi@netway.at

It  would be best if you could send me your entry as early as possible. Then I
can  inform  you about bugs, if I find  them,  and you have enough time to fix
them.  Attention: if I find no bugs, this doesn't automatically mean that your
entry is bug-free.

You can submit updates to your entries all the time till the deadline.

Entries  that do not agree with these rules will be disqualified. Their coders
will  be informed about the mistake, and they can re-submit a bugfixed version
unless the compo is over.

If  the  compo  is over and a hidden  flaw  is  found in one of the originally
accepted  entries  by  the jury or the  public,  the  best older entry of this
competitor that fits all the rules will qualify instead.

------------------------------- [PRE-RESULTS] --------------------------------

The  current pre-results of this compo  will be released on the compo-homepage
and always updated after receiving a new entry. In this way I hope to make the
compo exciting.

Compo-homepage URL:
                     http://home.pages.de/~hugi-compo/

If that URL does not work, try:
                     http://www.geocities.com/siliconvalley/bay/6062/compo.htm

--------------------------------- [SCHEDULE] ---------------------------------

Apr 19, 1999                   Compo starts
May 31, 1999, 11:59 pm cet     Deadline for entry submission, compo is over
Jun 01, 1999                   Entries and beta results will be released,
                               Start of public judgement
Jun 07, 1999, 11:59 pm cet     End of public judgement
Jun 08, 1999                   Final results will be released

----------------------------- [PUBLIC JUDGEMENT] -----------------------------

As soon as the entries and the beta results are released, the public judgement
starts.  During this week you can discuss  and object to the entries that seem
to  break some rule. Please send your objections to the compo-mailinglist (see
below).  The  jury (see the next paragraph)  will check if your objections are
according to the rules. If they are, the invalid entry will be disqualified.

--------------------------------- [THE JURY] ---------------------------------

All entries will be checked by me. Nobody else will get to see them before the
deadline.   After   the  deadline  all  entries   will   be  released  at  the
compo-homepage  together  with  the beta results.  In  this  week, the 'public
judgement' week, people can discuss and object to the entries.

To check whether the objections are right - and for no other purpose -, a jury
will  be formed, consisting of me and two other people that I'll select during
the compo.

Jury  members  have  to  act  objectively.  They  can't  change  any  rules or
disqualify  entries by themselves. Therefore  it's no difference whether these
people take part in the compo, too, or not.

The juries of the previous compos consisted of:

() compo 1: altair, cydo, adok
() compo 2: nop, cydo, adok
() compo 3: maxx, guillermo sais, adok

---------------------------------- [PRIZES] ----------------------------------

I'm sorry if i disappoint you, but there are no material prizes. Everything is
just  a  matter of honor and fame.  Moreover, the 30 best competitors will get
points  and be listed in the 'world league table of assembly' situated  at the
compo-homepage.  Reaching  a good place at a  compo and even more in the world
league  table of assembly is a good visiting-card and recommendation for every
competitor!

------------------------------- [MAILINGLIST] --------------------------------

The  purpose  of the Hugi Compo Mailinglist  is to inform about new compos and
provide  a discussion forum for the competitors. At the moment there are about
150 subscribers.

To  subscribe  send a mail  to hugi-compo-subscribe@egroups.com. You'll get an
automatically  generated  mail which confirms  your  subscription within a few
hours.  Then  you  start  getting the mails  the  others  have  posted to this
mailinglist.

Mails for the list have to be sent to: hugi-compo@egroups.com

If you want to unsubscribe, send a mail to: hugi-compo-unsubscribe@egroups.com

--------------------------------- [CONTACT] ----------------------------------

Send your entries to:
                                         hugi@netway.at        [adok/hugi]
Compo-homepage
(pre-results, world league table, etc.)
                                         http://home.pages.de/~hugi-compo/
Subscribe to the mailinglist:
                                         hugi-compo-subscribe@egroups.com

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

Thanks for reading this info file! I'm looking forward to your participation!

                                                 - adok^hugi, April 19th, 1999
