Difference between revisions of "Main Page"

From SizeCoding
Jump to: navigation, search
(Cleaned up with new article titles and better writing.)
Line 1: Line 1:
 
== Welcome to SizeCoding.org! ==
 
== Welcome to SizeCoding.org! ==
  
'''SizeCoding.org is a wiki dedicated to the art of creating very tiny programs for most popular types of CPUs. As sizecoding is also popular on other hardware we recently opened the website for other plaforms as well, check the links below.'''   
+
'''SizeCoding.org is a wiki dedicated to the art of creating very tiny programs for most popular types of CPUs. As sizecoding is also popular on other hardware, we recently opened the website for other platforms as well, check the links below.'''   
  
By "very tiny programs", we mean programs that are '''256 bytes or less in size''', typically created by members of the [https://en.wikipedia.org/wiki/Demoscene demoscene] as a show of programming skill. The size of these tiny programs is measured by their total size in opcode bytes, and are usually presented as executable binary.   
+
By "very tiny programs", we mean programs that are '''256 bytes or less in size''', typically created by members of the [https://en.wikipedia.org/wiki/Demoscene demoscene] as a show of programming skill. The size of these tiny programs is measured by their total size in opcode bytes, and are usually presented as an executable binary.   
  
'''Despite their tiny size, these programs are able to produce amazing graphical displays, playable games, and sometimes music.'''  There are even some surprisingly effective programs just '''16 bytes'''   [https://demozoo.org/productions/?platform=&production_type=55] or even '''8 bytes''' [https://demozoo.org/productions/?platform=&production_type=54].  
+
'''Despite their tiny size, these programs are able to produce amazing graphical displays, playable games, and sometimes music.'''  There are even some surprisingly effective programs in just '''16 bytes''' [https://demozoo.org/productions/?platform=&production_type=55] or even '''8 bytes''' [https://demozoo.org/productions/?platform=&production_type=54].  
  
'''The intent of this wiki is to teach assembler programmers the various techniques used to create tiny demoscene intros.'''  While these techniques can be used for other applications (boot sectors, ROM, BIOS and firmware code, etc.), the information presented here is firmly oriented towards the demoscene. Practicality and common sense are sometimes thrown out the window just to shave a single byte -- consider yourself warned.
+
'''The intent of this wiki is to teach assembler programmers the various techniques used to create tiny demoscene intros.'''  While these techniques can be used for other applications (boot sectors, ROM, BIOS and firmware code, etc.), the information presented here is firmly oriented towards the demoscene. Practicality and common sense are sometimes thrown out the window just to shave a single byte. Consider yourself warned.
  
 
Here is the list of active platforms available on this wiki:
 
Here is the list of active platforms available on this wiki:
 
+
*'''[[DOS]]''' - Sizecoding for x86/DOS.
*'''[[DOS]]''' - Sizecoding for X86/DOS platforms.
+
*'''[[Linux]]''' - Sizecoding for Linux.
*'''[[Linux]]''' - Sizecoding on linux platforms.
+
*'''[[ARM]]''' - ARM-based platforms (RISC OS, Game oy Advance, etc.)
*'''[[ARM based CPUs]]''' - ARM Based Platforms (RISC OS, Gameboy Advance, etc.)
+
*'''[[Motorola 68000]]''' - Start sizecoding for the Atari ST or Amiga.
*'''[[Motorola 68k based CPUS]]''' - Start Sizecoding on your Atari ST or Amiga.
+
*'''[[6502]]''' - Commodore 64, Atari XE/XL, Apple II, Atari 2600, Atari Lynx, etc.
*'''[[6502 based CPUs]]''' - Commodore 64, Atari XE/XL, Apple II, Atari 2600, Atari Lynx, etc.
+
*'''[[Z80]]''' - For all your ZX Spectrum, Amstrad CPC, etc. sizecoding needs.
*'''[[Z80 based CPUs]]''' - For all your ZX Spectrum, Amstrad CPC, etc. sizecoding needs
+
*'''[[PDP-11]]''' - Get your BK-0010 and BK-0011 kicks here.
*'''[[PDP-11 CPUs]]''' - Get your BK-0010 and BK-0011 kicks here
+
*'''[[RISC-V]]''' - Mainly on cheap microcontrollers or QEMU for now, but first RISC−V micro-processors based board come since one year.  
*'''[[RISC-V CPUs]]''' - Mainly on cheap micro-controllers or qemu for now, but first RISC−V micro-processors based board come since one year.  
+
*'''[[Fantasy consoles]]''' - Dedicated to fantasy consoles.
*'''[[Fantasy Consoles]]''' - Dedicated to Fantasy Consoles and VM's like TIC-80, PICO-8, Javascript/js1k, etc.
 
 
*'''[[Bytebeat]]''' - Tiny music created from mathematical expressions.
 
*'''[[Bytebeat]]''' - Tiny music created from mathematical expressions.
 +
*'''[[High-level programming languages]]''' - Basically anything that controls the hardware less directly than assembly languages.

Revision as of 10:50, 8 April 2022

Welcome to SizeCoding.org!

SizeCoding.org is a wiki dedicated to the art of creating very tiny programs for most popular types of CPUs. As sizecoding is also popular on other hardware, we recently opened the website for other platforms as well, check the links below.

By "very tiny programs", we mean programs that are 256 bytes or less in size, typically created by members of the demoscene as a show of programming skill. The size of these tiny programs is measured by their total size in opcode bytes, and are usually presented as an executable binary.

Despite their tiny size, these programs are able to produce amazing graphical displays, playable games, and sometimes music. There are even some surprisingly effective programs in just 16 bytes [1] or even 8 bytes [2].

The intent of this wiki is to teach assembler programmers the various techniques used to create tiny demoscene intros. While these techniques can be used for other applications (boot sectors, ROM, BIOS and firmware code, etc.), the information presented here is firmly oriented towards the demoscene. Practicality and common sense are sometimes thrown out the window just to shave a single byte. Consider yourself warned.

Here is the list of active platforms available on this wiki:

  • DOS - Sizecoding for x86/DOS.
  • Linux - Sizecoding for Linux.
  • ARM - ARM-based platforms (RISC OS, Game oy Advance, etc.)
  • Motorola 68000 - Start sizecoding for the Atari ST or Amiga.
  • 6502 - Commodore 64, Atari XE/XL, Apple II, Atari 2600, Atari Lynx, etc.
  • Z80 - For all your ZX Spectrum, Amstrad CPC, etc. sizecoding needs.
  • PDP-11 - Get your BK-0010 and BK-0011 kicks here.
  • RISC-V - Mainly on cheap microcontrollers or QEMU for now, but first RISC−V micro-processors based board come since one year.
  • Fantasy consoles - Dedicated to fantasy consoles.
  • Bytebeat - Tiny music created from mathematical expressions.
  • High-level programming languages - Basically anything that controls the hardware less directly than assembly languages.