HackFest is an Apple II programming competition held over the course of KansasFest every year and open to all attendees. Please see the archive of past entries.

HackFest 2021 – Modified Rules for Virtual Competition

HackFest in a virtual year works a little bit differently from in in-person years. Here are the details for 2021. The contest begins on Friday, July 16, 8am CDT and ends Thursday, July 22, 5pm CDT. The judges will award prizes end of the day on Saturday, July 24. For details on the contest deadlines and rules, visit the #hackfest channel on the KansasFest Discord server.

  • Contest starts Friday, July 16, 8am CDT (GMT-5).
  • Contest ends Thursday, July 22, 5pm CDT (GMT-5).
  • Your project must be written/created in its entirety during this period. No coding beforehand! However, you can do background research.
  • Individuals or teams are allowed. 
  • The hack must be significantly related to the Apple 1, II, or III computer. It may run on real hardware, an emulator, or a modern computer.
  • Your project cannot rely on any unusual or custom libraries or software. Some examples of allowed items are given in the traditional in-person rules.
  • You must post a video showing the running program.
  • If you have a disk image, you can post that as well.
  • You can use an emulator for your demonstration, as long as the program doesn’t rely on the emulator for some special function.
  • Entries will be judged on completeness, cleverness, and “coolness”. Entries don’t have to be useful if they’re otherwise impressive, and they don’t have to be “finished.”
  • You must submit your entry on the #hackfest discord channel. Use the exact string “HACKFEST ENTRY” in all discord messages required for your submission (including any attached files, links, or descriptions of the project). They are (only) considered part of the entry if they appear in search results for that string. Videos can be uploaded to discord, YouTube, or Dropbox, as long as a link is included. 
  • Good luck and have fun!

Traditional In-Person Rules

Here are the rules for the HackFest competition:

  1. Contest begins at 7:00 AM CDT on the Wednesday of KansasFest and ends at 10:00 AM CDT that Saturday, so that judging can begin. The winners will be announced during the Saturday sessions. Entries submitted late won’t be considered. Entries may be done by individuals or teams; however, individual achievement counts.
  2. Three judges will be selected by the KansasFest committee to judge the competition; at least one of them will be available at all times, to provide assistance and judgment calls. At least one judge will be a non-programmer.
  3. Entries must be written entirely during the allotted time; no source code — printed or on any form of computer-readable media — may be used (although sample source code printed inside standard and acceptable reference materials is allowed), and the program must run on an Apple 1 (or clone) or Apple II model (or clone or emulator) or Apple /// (or emulator) present at KansasFest. The program may not require special features available only on a clone or emulator. It must be able to work on real Apple hardware.
  4. Any version of any development environment and programming language may be used; however, there may not be any libraries, header files, or macro sets used that aren’t standard-issue for that version of the development environment or programming language.
  5. Programs can’t require unusual additional software or hardware; it’s up to the judges to decide what constitutes “unusual”. The participant should ask in advance. The following lists are not necessarily complete lists of everything allowed; these are to be taken as “givens”. If it’s not on the list, please ask for confirmation.
  6. Acceptable software:
    • System software
    • Development environment (no customizations)
    • GSBug
    • Nifty List
    • Marinetti
    • Exerciser
    • ORCA/Debugger, Splat!
    • DesignMaster, Foundation, Genesys, ResLin
    • Talking Tools
    • Spectrum, ProTERM, ANSITerm
  7. Acceptable hardware:
    • Apple II computer, monitor, disk drives, hard drives
    • Apple 1 computer or clone
    • Apple /// computer
    • CD-ROM drive, tape drive
    • Hard disk controller card
    • Sound card (speakers/headphones/etc)
    • Accelerator card (any speed)
    • RAM card
  8. Accepted reference material:
    • All official Apple reference materials (including manuals, technical notes, and file type notes)
    • Reference manuals included with development tools and software
    • Publically or commercially available reference manuals

      Any other hardware, software, or reference material needs the approval of the judges in advance. When in doubt, ask the judges.

  9. Programs can’t take unfair advantage of system add-ons written in advance for the sole purpose of easing the work to be done during the contest period. Any extensions or other system add-ons used by an entry must have been released to the general public at least three months prior to the contest date.  The exception is if a program, tool, or other utility is released during or within three months of KansasFest, it may be used by anyone not involved in its development (examples: Mike Westerfield with GSoft BASIC at KansasFest 1998; Ivan Drucker with Slammer at KansasFest 2010).
  10. Entries will be judged on completeness, cleverness, and the somewhat vague “cool” factor. Entries don’t have to be useful if they’re otherwise impressive, and they don’t have to be “finished.”
  11. All entry programs are the property of the creator, and do not have to be released to the general public at any time; however, we hope that entries will be distributed by some means (whether for free or otherwise) when ready. However, entries may be described or discussed, including screen shots (where applicable), by the KansasFest committee for promotional purposes, or by legitimate Apple II community press.