aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-11-25 18:27:16 +0000
committerDimitri Sokolyuk <demon@dim13.org>2015-11-25 18:27:16 +0000
commit5f698eea8594ab603ca4a438819b8e17d96a85fc (patch)
tree9ce88c447b4ae48a1d9911fceb2e92dc5fd5f81e
parenta5c6776929cd51f3bf86a126856669a66012b030 (diff)
Add misc files
-rw-r--r--misc/VirtualMonitor.txt86
-rw-r--r--misc/atari-small.bdf1960
-rw-r--r--misc/gencolor.jar16
-rw-r--r--misc/io.txt47
-rw-r--r--misc/nops.txt320
5 files changed, 2429 insertions, 0 deletions
diff --git a/misc/VirtualMonitor.txt b/misc/VirtualMonitor.txt
new file mode 100644
index 0000000..b26add2
--- /dev/null
+++ b/misc/VirtualMonitor.txt
@@ -0,0 +1,86 @@
+; This isn't a leaked specification. It's a write-up by Rick
+; (in #0x10c-dev) of how the leaked game handles the virtual
+; monitor.
+;
+; Updated to include differences in the DCPU applet
+; available at http://dcpu.com/highnerd/
+;
+; 0x8000 - 0x8180 ; Display (32x12)
+; 0x8180 - 0x8280 ; Characters
+; 0x8280 - 0x8281 ; Misc
+;
+; The display is 32x12 (128x96) surrounded by a
+; 16 pixel border / background.
+;
+; A display cell is a single word:
+;
+; ccccccccbiiiiiii
+;
+; i = Character index.
+; b = Cell should blink.
+; c = Color.
+;
+;
+; Color is defined as:
+;
+; ffffbbbb
+;
+; f = Foreground color
+; b = Background color
+;
+; Both are mapped as:
+;
+; hrgb
+;
+; h = Highlight
+; r = Red
+; g = Green
+; b = Blue
+;
+; When a channel is set, its value is 0xAA, when unset
+; it's 0x00.
+;
+; When both red and green are set and highlight is not set,
+; blue is +0x55 (ie, b0110 gives 0xFFAAAA55 assuming
+; 0xAARRGGBB, originally was 0xFFAAFF00).
+;
+; When highlight is set, all values are
+; +0x55 (set channel is 0xFF, unset channel is 0x55).
+;
+;
+; A character is two words
+;
+; aaaaaaaabbbbbbbb
+; ccccccccdddddddd
+;
+; Where each bit defines if a pixel is visible or not.
+; Each letter in the representation is one column of pixels
+; in the character.
+;
+; a = column 0, b = column 1, c = column 2, d = column 3
+;
+; ie
+;
+; 'A' in notch's default font would be 0x7E09, 0x7E00.
+;
+; In this diagram, 0 = MSB, 7 = LSB
+;
+; 0123
+; +----+ +----+
+; 0|0100| | # |
+; 1|1010| |# # |
+; 2|1010| |# # |
+; 3|1110| |### |
+; 4|1010| |# # |
+; 5|1010| |# # |
+; 6|1010| |# # |
+; 7|0000| | |
+; +----+ |----+
+;
+;
+; Misc is defined as:
+;
+; (0x8280[0] & 0xF) defines background color of screen,
+; as defined by the background color lookup. Since
+; the normal display cannot have alpha, this color
+; only appears as a border.
diff --git a/misc/atari-small.bdf b/misc/atari-small.bdf
new file mode 100644
index 0000000..c0636c3
--- /dev/null
+++ b/misc/atari-small.bdf
@@ -0,0 +1,1960 @@
+STARTFONT 2.1
+COMMENT
+COMMENT Copyright (c) 1999, Thomas A. Fine
+COMMENT
+COMMENT License to copy, modify, and distribute for both commercial and
+COMMENT non-commercial use is herby granted, provided this notice
+COMMENT is preserved.
+COMMENT
+COMMENT Email to my last name at head.cfa.harvard.edu
+COMMENT http://hea-www.harvard.edu/~fine/
+COMMENT
+COMMENT Produced with bdfedit, a tcl/tk font editing program
+COMMENT written by Thomas A. Fine
+COMMENT
+FONT -atari-small
+SIZE 11 75 75
+FONTBOUNDINGBOX 4 8 0 -1
+STARTPROPERTIES 19
+FONTNAME_REGISTRY ""
+FOUNDRY "Misc"
+FAMILY_NAME "Fixed"
+WEIGHT_NAME "Medium"
+SLANT "R"
+SETWIDTH_NAME "Normal"
+ADD_STYLE_NAME ""
+PIXEL_SIZE 8
+POINT_SIZE 80
+RESOLUTION_X 75
+RESOLUTION_Y 75
+SPACING "C"
+AVERAGE_WIDTH 50
+CHARSET_REGISTRY "ISO8859"
+CHARSET_ENCODING "1"
+FONT_DESCENT 1
+FONT_ASCENT 7
+COPYRIGHT "Copyright 1999 by Thomas A. Fine"
+DEFAULT_CHAR 0
+ENDPROPERTIES
+CHARS 128
+STARTCHAR C000
+ENCODING 0
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C001
+ENCODING 1
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+20
+70
+f0
+70
+20
+00
+00
+ENDCHAR
+STARTCHAR C002
+ENCODING 2
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+20
+50
+20
+50
+20
+50
+20
+ENDCHAR
+STARTCHAR C003
+ENCODING 3
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+50
+50
+70
+50
+50
+30
+10
+10
+ENDCHAR
+STARTCHAR C004
+ENCODING 4
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+e0
+80
+c0
+b0
+a0
+30
+20
+20
+ENDCHAR
+STARTCHAR C005
+ENCODING 5
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+60
+80
+60
+00
+30
+20
+30
+20
+ENDCHAR
+STARTCHAR C006
+ENCODING 6
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+80
+80
+80
+e0
+30
+20
+30
+20
+ENDCHAR
+STARTCHAR C007
+ENCODING 7
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+70
+50
+50
+70
+00
+00
+00
+ENDCHAR
+STARTCHAR C010
+ENCODING 8
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+20
+70
+20
+00
+70
+00
+00
+ENDCHAR
+STARTCHAR C011
+ENCODING 9
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+90
+d0
+b0
+90
+20
+20
+20
+30
+ENDCHAR
+STARTCHAR C012
+ENCODING 10
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+a0
+a0
+a0
+40
+30
+10
+10
+10
+ENDCHAR
+STARTCHAR C013
+ENCODING 11
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+20
+20
+20
+e0
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C014
+ENCODING 12
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+00
+e0
+20
+20
+20
+20
+ENDCHAR
+STARTCHAR C015
+ENCODING 13
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+00
+30
+20
+20
+20
+20
+ENDCHAR
+STARTCHAR C016
+ENCODING 14
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+20
+20
+20
+30
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C017
+ENCODING 15
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+20
+20
+20
+f0
+20
+20
+20
+20
+ENDCHAR
+STARTCHAR C020
+ENCODING 16
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+70
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C021
+ENCODING 17
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+70
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C022
+ENCODING 18
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+00
+70
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C023
+ENCODING 19
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+00
+00
+70
+00
+00
+00
+ENDCHAR
+STARTCHAR C024
+ENCODING 20
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+70
+00
+00
+ENDCHAR
+STARTCHAR C025
+ENCODING 21
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+20
+20
+20
+30
+20
+20
+20
+20
+ENDCHAR
+STARTCHAR C026
+ENCODING 22
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+20
+20
+20
+e0
+20
+20
+20
+20
+ENDCHAR
+STARTCHAR C027
+ENCODING 23
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+20
+20
+20
+20
+f0
+00
+00
+00
+ENDCHAR
+STARTCHAR C030
+ENCODING 24
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+00
+00
+f0
+20
+20
+20
+ENDCHAR
+STARTCHAR C031
+ENCODING 25
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+20
+20
+20
+20
+20
+20
+20
+20
+ENDCHAR
+STARTCHAR C032
+ENCODING 26
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+10
+20
+40
+20
+10
+70
+00
+ENDCHAR
+STARTCHAR C033
+ENCODING 27
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+20
+10
+20
+40
+70
+00
+ENDCHAR
+STARTCHAR C034
+ENCODING 28
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+f0
+50
+50
+50
+50
+00
+00
+ENDCHAR
+STARTCHAR C035
+ENCODING 29
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+10
+f0
+20
+f0
+40
+00
+00
+ENDCHAR
+STARTCHAR C036
+ENCODING 30
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+30
+40
+e0
+40
+70
+d0
+40
+00
+ENDCHAR
+STARTCHAR C037
+ENCODING 31
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+00
+20
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C040
+ENCODING 32
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR !
+ENCODING 33
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+40
+40
+40
+00
+40
+00
+ENDCHAR
+STARTCHAR "
+ENCODING 34
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+A0
+A0
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR #
+ENCODING 35
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+a0
+E0
+A0
+A0
+E0
+a0
+00
+ENDCHAR
+STARTCHAR $
+ENCODING 36
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+40
+40
+a0
+40
+20
+a0
+40
+40
+ENDCHAR
+STARTCHAR %
+ENCODING 37
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+a0
+20
+40
+40
+80
+a0
+00
+ENDCHAR
+STARTCHAR &
+ENCODING 38
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+40
+a0
+40
+a0
+a0
+c0
+60
+00
+ENDCHAR
+STARTCHAR '
+ENCODING 39
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+40
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR (
+ENCODING 40
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+20
+40
+40
+40
+40
+20
+00
+ENDCHAR
+STARTCHAR )
+ENCODING 41
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+80
+40
+40
+40
+40
+80
+00
+ENDCHAR
+STARTCHAR *
+ENCODING 42
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+a0
+40
+e0
+40
+a0
+00
+00
+ENDCHAR
+STARTCHAR +
+ENCODING 43
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+40
+e0
+40
+40
+00
+00
+ENDCHAR
+STARTCHAR ,
+ENCODING 44
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+40
+40
+80
+ENDCHAR
+STARTCHAR -
+ENCODING 45
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+00
+e0
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR .
+ENCODING 46
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+40
+40
+00
+ENDCHAR
+STARTCHAR /
+ENCODING 47
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+20
+20
+40
+40
+80
+80
+00
+ENDCHAR
+STARTCHAR 0
+ENCODING 48
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+a0
+e0
+a0
+a0
+40
+00
+ENDCHAR
+STARTCHAR 1
+ENCODING 49
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+c0
+40
+40
+40
+e0
+00
+ENDCHAR
+STARTCHAR 2
+ENCODING 50
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+a0
+20
+40
+80
+e0
+00
+ENDCHAR
+STARTCHAR 3
+ENCODING 51
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+e0
+20
+40
+20
+a0
+40
+00
+ENDCHAR
+STARTCHAR 4
+ENCODING 52
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+20
+60
+a0
+e0
+20
+20
+00
+ENDCHAR
+STARTCHAR 5
+ENCODING 53
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+e0
+80
+c0
+20
+a0
+40
+00
+ENDCHAR
+STARTCHAR 6
+ENCODING 54
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+60
+80
+c0
+a0
+a0
+40
+00
+ENDCHAR
+STARTCHAR 7
+ENCODING 55
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+e0
+20
+20
+40
+40
+40
+00
+ENDCHAR
+STARTCHAR 8
+ENCODING 56
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+a0
+40
+a0
+a0
+40
+00
+ENDCHAR
+STARTCHAR 9
+ENCODING 57
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+a0
+a0
+60
+20
+c0
+00
+ENDCHAR
+STARTCHAR :
+ENCODING 58
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+40
+00
+00
+40
+00
+00
+ENDCHAR
+STARTCHAR ;
+ENCODING 59
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+40
+00
+00
+40
+80
+00
+ENDCHAR
+STARTCHAR <
+ENCODING 60
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+20
+40
+80
+40
+20
+00
+ENDCHAR
+STARTCHAR =
+ENCODING 61
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+e0
+00
+e0
+00
+00
+00
+ENDCHAR
+STARTCHAR >
+ENCODING 62
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+80
+40
+20
+40
+80
+00
+ENDCHAR
+STARTCHAR ?
+ENCODING 63
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+a0
+20
+40
+00
+40
+00
+ENDCHAR
+STARTCHAR @
+ENCODING 64
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+a0
+a0
+80
+80
+60
+00
+ENDCHAR
+STARTCHAR A
+ENCODING 65
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+a0
+a0
+e0
+a0
+a0
+00
+ENDCHAR
+STARTCHAR B
+ENCODING 66
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+c0
+a0
+c0
+a0
+a0
+c0
+00
+ENDCHAR
+STARTCHAR C
+ENCODING 67
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+a0
+80
+80
+a0
+40
+00
+ENDCHAR
+STARTCHAR D
+ENCODING 68
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+c0
+a0
+a0
+a0
+a0
+c0
+00
+ENDCHAR
+STARTCHAR E
+ENCODING 69
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+e0
+80
+e0
+80
+80
+e0
+00
+ENDCHAR
+STARTCHAR F
+ENCODING 70
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+e0
+80
+e0
+80
+80
+80
+00
+ENDCHAR
+STARTCHAR G
+ENCODING 71
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+a0
+80
+a0
+a0
+40
+00
+ENDCHAR
+STARTCHAR H
+ENCODING 72
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+a0
+a0
+e0
+a0
+a0
+a0
+00
+ENDCHAR
+STARTCHAR I
+ENCODING 73
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+e0
+40
+40
+40
+40
+e0
+00
+ENDCHAR
+STARTCHAR J
+ENCODING 74
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+20
+20
+20
+20
+a0
+40
+00
+ENDCHAR
+STARTCHAR K
+ENCODING 75
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+a0
+a0
+c0
+a0
+a0
+a0
+00
+ENDCHAR
+STARTCHAR L
+ENCODING 76
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+80
+80
+80
+80
+80
+e0
+00
+ENDCHAR
+STARTCHAR M
+ENCODING 77
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+a0
+e0
+a0
+a0
+a0
+a0
+00
+ENDCHAR
+STARTCHAR N
+ENCODING 78
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+20
+a0
+e0
+e0
+a0
+80
+00
+ENDCHAR
+STARTCHAR O
+ENCODING 79
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+a0
+a0
+a0
+a0
+40
+00
+ENDCHAR
+STARTCHAR P
+ENCODING 80
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+c0
+a0
+a0
+c0
+80
+80
+00
+ENDCHAR
+STARTCHAR Q
+ENCODING 81
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+a0
+a0
+a0
+c0
+60
+00
+ENDCHAR
+STARTCHAR R
+ENCODING 82
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+c0
+a0
+a0
+c0
+a0
+a0
+00
+ENDCHAR
+STARTCHAR S
+ENCODING 83
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+a0
+40
+20
+a0
+40
+00
+ENDCHAR
+STARTCHAR T
+ENCODING 84
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+e0
+40
+40
+40
+40
+40
+00
+ENDCHAR
+STARTCHAR U
+ENCODING 85
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+a0
+a0
+a0
+a0
+a0
+e0
+00
+ENDCHAR
+STARTCHAR V
+ENCODING 86
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+a0
+a0
+a0
+a0
+a0
+40
+00
+ENDCHAR
+STARTCHAR W
+ENCODING 87
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+a0
+a0
+a0
+a0
+e0
+a0
+00
+ENDCHAR
+STARTCHAR X
+ENCODING 88
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+a0
+a0
+40
+a0
+a0
+a0
+00
+ENDCHAR
+STARTCHAR Y
+ENCODING 89
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+a0
+a0
+40
+40
+40
+40
+00
+ENDCHAR
+STARTCHAR Z
+ENCODING 90
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+e0
+20
+40
+40
+80
+e0
+00
+ENDCHAR
+STARTCHAR [
+ENCODING 91
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+60
+40
+40
+40
+40
+60
+00
+ENDCHAR
+STARTCHAR \
+ENCODING 92
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+80
+80
+40
+40
+20
+20
+00
+ENDCHAR
+STARTCHAR ]
+ENCODING 93
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+c0
+40
+40
+40
+40
+c0
+00
+ENDCHAR
+STARTCHAR ^
+ENCODING 94
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+a0
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR _
+ENCODING 95
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+f0
+ENDCHAR
+STARTCHAR `
+ENCODING 96
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+80
+40
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR a
+ENCODING 97
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+c0
+20
+60
+a0
+60
+00
+ENDCHAR
+STARTCHAR b
+ENCODING 98
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+80
+80
+c0
+a0
+a0
+c0
+00
+ENDCHAR
+STARTCHAR c
+ENCODING 99
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+60
+80
+80
+80
+60
+00
+ENDCHAR
+STARTCHAR d
+ENCODING 100
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+20
+20
+60
+a0
+a0
+60
+00
+ENDCHAR
+STARTCHAR e
+ENCODING 101
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+40
+a0
+e0
+80
+60
+00
+ENDCHAR
+STARTCHAR f
+ENCODING 102
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+20
+40
+e0
+40
+40
+40
+00
+ENDCHAR
+STARTCHAR g
+ENCODING 103
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+60
+a0
+a0
+60
+20
+c0
+ENDCHAR
+STARTCHAR h
+ENCODING 104
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+80
+80
+c0
+a0
+a0
+a0
+00
+ENDCHAR
+STARTCHAR i
+ENCODING 105
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+00
+c0
+40
+40
+e0
+00
+ENDCHAR
+STARTCHAR j
+ENCODING 106
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+20
+00
+60
+20
+20
+20
+c0
+ENDCHAR
+STARTCHAR k
+ENCODING 107
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+80
+80
+a0
+c0
+a0
+a0
+00
+ENDCHAR
+STARTCHAR l
+ENCODING 108
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+40
+40
+40
+40
+40
+00
+ENDCHAR
+STARTCHAR m
+ENCODING 109
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+a0
+e0
+a0
+a0
+a0
+00
+ENDCHAR
+STARTCHAR n
+ENCODING 110
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+c0
+a0
+a0
+a0
+a0
+00
+ENDCHAR
+STARTCHAR o
+ENCODING 111
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+40
+a0
+a0
+a0
+40
+00
+ENDCHAR
+STARTCHAR p
+ENCODING 112
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+c0
+a0
+a0
+c0
+80
+80
+ENDCHAR
+STARTCHAR q
+ENCODING 113
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+60
+a0
+a0
+60
+20
+20
+ENDCHAR
+STARTCHAR r
+ENCODING 114
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+60
+80
+80
+80
+80
+00
+ENDCHAR
+STARTCHAR s
+ENCODING 115
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+60
+80
+40
+20
+c0
+00
+ENDCHAR
+STARTCHAR t
+ENCODING 116
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+40
+40
+e0
+40
+40
+40
+00
+ENDCHAR
+STARTCHAR u
+ENCODING 117
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+a0
+a0
+a0
+a0
+e0
+00
+ENDCHAR
+STARTCHAR v
+ENCODING 118
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+a0
+a0
+a0
+a0
+40
+00
+ENDCHAR
+STARTCHAR w
+ENCODING 119
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+a0
+a0
+a0
+e0
+a0
+00
+ENDCHAR
+STARTCHAR x
+ENCODING 120
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+a0
+a0
+40
+a0
+a0
+00
+ENDCHAR
+STARTCHAR y
+ENCODING 121
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+a0
+a0
+a0
+60
+20
+c0
+ENDCHAR
+STARTCHAR z
+ENCODING 122
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+e0
+20
+40
+80
+e0
+00
+ENDCHAR
+STARTCHAR {
+ENCODING 123
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+20
+40
+40
+80
+40
+40
+20
+00
+ENDCHAR
+STARTCHAR |
+ENCODING 124
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+40
+40
+40
+00
+40
+40
+40
+00
+ENDCHAR
+STARTCHAR }
+ENCODING 125
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+80
+40
+40
+20
+40
+40
+80
+00
+ENDCHAR
+STARTCHAR ~
+ENCODING 126
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+c0
+60
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR C177
+ENCODING 127
+SWIDTH 1 0
+DWIDTH 4 0
+BBX 4 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+ENDFONT
diff --git a/misc/gencolor.jar b/misc/gencolor.jar
new file mode 100644
index 0000000..521aa1d
--- /dev/null
+++ b/misc/gencolor.jar
@@ -0,0 +1,16 @@
+ private static int genColor(int i)
+ {
+ int b = (i >> 0 & 1) * 170;
+ int g = (i >> 1 & 1) * 170;
+ int r = (i >> 2 & 1) * 170;
+ if(i == 6)
+ g += 85;
+ else
+ if(i >= 8)
+ {
+ r += 85;
+ g += 85;
+ b += 85;
+ }
+ return 0xff000000 | r << 16 | g << 8 | b;
+ }
diff --git a/misc/io.txt b/misc/io.txt
new file mode 100644
index 0000000..4090b65
--- /dev/null
+++ b/misc/io.txt
@@ -0,0 +1,47 @@
+I/O Spec
+
+As of now, there is no standard I/O spec for the DCPU. All we know
+for sure is a basic idea of how the assembly will work, but Notch
+will be able to add things as 0x10c is developed. That means for
+right now, we're basically just guessing on how the display and
+input will work. On this page, I will document the current I/O spec
+we are conforming to, so you don't have to figure it out yourself.
+All of this is subject to change and break old code, so don't get
+too attached to one piece of software. Display
+
+The display is that weird little grey box you see the the right of
+your code. How do you write stuff to it?
+
+It is 32 columns by 16 rows, and the memory is mapped from address
+0x8000 to 0x81ff. 0x8000 is the top left cell, 0x8001 is the next
+one over, and 0x8020 is first cell of the second row. When you write
+to one of these cells, you do it in the following bit format: HRGB
+HRGB B CCCCCCC where the first set of HRGB is the color of the text,
+the next HRGB is the color of the background (with H being 'highlight',
+making the colors brighter), B is whether or not to blink the cell,
+and C is the ASCII character value.
+
+Input
+
+You can also get keyboard input. The system may seem confusing at
+first, but once you get the hang of it, you will be able to make
+some sweet games, or maybe a text editor.
+
+The input buffer is at the address range from 0x9000 to 0x900f. It
+is a cyclic buffer, meaning that each time a key is hit, it is saved
+in the next address over (and if it gets to 0x900f, it resets back
+to 0x9000). If you read a value from there, it is important that
+you set the buffer to 0 after you are done. If the buffer still has
+something in it, the program won't be able to save new keypresses.
+Don't want to have to loop through this buffer to find the last
+key? There is a pointer at 0x9010 that stores the address of the
+last key the program stored.
+
+The future
+
+We will certainly be adding more I/O as Notch announces it, or as
+we figure it out. For instance, disk storage will be here shortly.
+Also, by the time the real game comes out, we will know how to
+control the systems of your ship (weapons, engines, communication,
+etc.). Until then, work with what you have, and show us something
+awesome!
diff --git a/misc/nops.txt b/misc/nops.txt
new file mode 100644
index 0000000..385521c
--- /dev/null
+++ b/misc/nops.txt
@@ -0,0 +1,320 @@
+A list of DCPU16 instructions which do nothing (i.e. NOPs):
+
+0x0001 SET A, A
+0x000a AND A, A
+0x000b BOR A, A
+0x0012 IFE A, A
+0x0311 IFC PUSH, A
+0x0421 SET B, B
+0x042a AND B, B
+0x042b BOR B, B
+0x0432 IFE B, B
+0x0711 IFC PUSH, B
+0x0841 SET C, C
+0x084a AND C, C
+0x084b BOR C, C
+0x0852 IFE C, C
+0x0b11 IFC PUSH, C
+0x0c61 SET X, X
+0x0c6a AND X, X
+0x0c6b BOR X, X
+0x0c72 IFE X, X
+0x0f11 IFC PUSH, X
+0x1081 SET Y, Y
+0x108a AND Y, Y
+0x108b BOR Y, Y
+0x1092 IFE Y, Y
+0x1311 IFC PUSH, Y
+0x14a1 SET Z, Z
+0x14aa AND Z, Z
+0x14ab BOR Z, Z
+0x14b2 IFE Z, Z
+0x1711 IFC PUSH, Z
+0x18c1 SET I, I
+0x18ca AND I, I
+0x18cb BOR I, I
+0x18d2 IFE I, I
+0x1b11 IFC PUSH, I
+0x1ce1 SET J, J
+0x1cea AND J, J
+0x1ceb BOR J, J
+0x1cf2 IFE J, J
+0x1f11 IFC PUSH, J
+0x2101 SET [A], [A]
+0x210a AND [A], [A]
+0x210b BOR [A], [A]
+0x2112 IFE [A], [A]
+0x2311 IFC PUSH, [A]
+0x2521 SET [B], [B]
+0x252a AND [B], [B]
+0x252b BOR [B], [B]
+0x2532 IFE [B], [B]
+0x2711 IFC PUSH, [B]
+0x2941 SET [C], [C]
+0x294a AND [C], [C]
+0x294b BOR [C], [C]
+0x2952 IFE [C], [C]
+0x2b11 IFC PUSH, [C]
+0x2d61 SET [X], [X]
+0x2d6a AND [X], [X]
+0x2d6b BOR [X], [X]
+0x2d72 IFE [X], [X]
+0x2f11 IFC PUSH, [X]
+0x3181 SET [Y], [Y]
+0x318a AND [Y], [Y]
+0x318b BOR [Y], [Y]
+0x3192 IFE [Y], [Y]
+0x3311 IFC PUSH, [Y]
+0x35a1 SET [Z], [Z]
+0x35aa AND [Z], [Z]
+0x35ab BOR [Z], [Z]
+0x35b2 IFE [Z], [Z]
+0x3711 IFC PUSH, [Z]
+0x39c1 SET [I], [I]
+0x39ca AND [I], [I]
+0x39cb BOR [I], [I]
+0x39d2 IFE [I], [I]
+0x3b11 IFC PUSH, [I]
+0x3de1 SET [J], [J]
+0x3dea AND [J], [J]
+0x3deb BOR [J], [J]
+0x3df2 IFE [J], [J]
+0x3f11 IFC PUSH, [J]
+0x6301 SET PUSH, POP
+0x630b BOR PUSH, POP
+0x630c XOR PUSH, POP
+0x6711 IFC PUSH, [SP]
+0x6721 SET [SP], [SP]
+0x672a AND [SP], [SP]
+0x672b BOR [SP], [SP]
+0x6732 IFE [SP], [SP]
+0x6f11 IFC PUSH, SP
+0x6f61 SET SP, SP
+0x6f6a AND SP, SP
+0x6f6b BOR SP, SP
+0x6f72 IFE SP, SP
+0x7311 IFC PUSH, PC
+0x7381 SET PC, PC
+0x738a AND PC, PC
+0x738b BOR PC, PC
+0x7392 IFE PC, PC
+0x7711 IFC PUSH, EX
+0x77a1 SET EX, EX
+0x77aa AND EX, EX
+0x77ab BOR EX, EX
+0x77b2 IFE EX, EX
+0x77bb SBX EX, EX
+0x800a AND A, 0xffff
+0x802a AND B, 0xffff
+0x804a AND C, 0xffff
+0x806a AND X, 0xffff
+0x808a AND Y, 0xffff
+0x80aa AND Z, 0xffff
+0x80ca AND I, 0xffff
+0x80ea AND J, 0xffff
+0x810a AND [A], 0xffff
+0x812a AND [B], 0xffff
+0x814a AND [C], 0xffff
+0x816a AND [X], 0xffff
+0x818a AND [Y], 0xffff
+0x81aa AND [Z], 0xffff
+0x81ca AND [I], 0xffff
+0x81ea AND [J], 0xffff
+0x8311 IFC PUSH, 0xffff
+0x8315 IFA PUSH, 0xffff
+0x8316 IFL PUSH, 0xffff
+0x832a AND [SP], 0xffff
+0x836a AND SP, 0xffff
+0x838a AND PC, 0xffff
+0x83aa AND EX, 0xffff
+0x840b BOR A, 0x0000
+0x840c XOR A, 0x0000
+0x8411 IFC A, 0x0000
+0x842b BOR B, 0x0000
+0x842c XOR B, 0x0000
+0x8431 IFC B, 0x0000
+0x844b BOR C, 0x0000
+0x844c XOR C, 0x0000
+0x8451 IFC C, 0x0000
+0x846b BOR X, 0x0000
+0x846c XOR X, 0x0000
+0x8471 IFC X, 0x0000
+0x848b BOR Y, 0x0000
+0x848c XOR Y, 0x0000
+0x8491 IFC Y, 0x0000
+0x84ab BOR Z, 0x0000
+0x84ac XOR Z, 0x0000
+0x84b1 IFC Z, 0x0000
+0x84cb BOR I, 0x0000
+0x84cc XOR I, 0x0000
+0x84d1 IFC I, 0x0000
+0x84eb BOR J, 0x0000
+0x84ec XOR J, 0x0000
+0x84f1 IFC J, 0x0000
+0x850b BOR [A], 0x0000
+0x850c XOR [A], 0x0000
+0x8511 IFC [A], 0x0000
+0x852b BOR [B], 0x0000
+0x852c XOR [B], 0x0000
+0x8531 IFC [B], 0x0000
+0x854b BOR [C], 0x0000
+0x854c XOR [C], 0x0000
+0x8551 IFC [C], 0x0000
+0x856b BOR [X], 0x0000
+0x856c XOR [X], 0x0000
+0x8571 IFC [X], 0x0000
+0x858b BOR [Y], 0x0000
+0x858c XOR [Y], 0x0000
+0x8591 IFC [Y], 0x0000
+0x85ab BOR [Z], 0x0000
+0x85ac XOR [Z], 0x0000
+0x85b1 IFC [Z], 0x0000
+0x85cb BOR [I], 0x0000
+0x85cc XOR [I], 0x0000
+0x85d1 IFC [I], 0x0000
+0x85eb BOR [J], 0x0000
+0x85ec XOR [J], 0x0000
+0x85f1 IFC [J], 0x0000
+0x8711 IFC PUSH, 0x0000
+0x8712 IFE PUSH, 0x0000
+0x872b BOR [SP], 0x0000
+0x872c XOR [SP], 0x0000
+0x8731 IFC [SP], 0x0000
+0x876b BOR SP, 0x0000
+0x876c XOR SP, 0x0000
+0x8771 IFC SP, 0x0000
+0x878b BOR PC, 0x0000
+0x878c XOR PC, 0x0000
+0x8791 IFC PC, 0x0000
+0x87a2 ADD EX, 0x0000
+0x87a3 SUB EX, 0x0000
+0x87ab BOR EX, 0x0000
+0x87ac XOR EX, 0x0000
+0x87ad SHR EX, 0x0000
+0x87ae ASR EX, 0x0000
+0x87af SHL EX, 0x0000
+0x87b1 IFC EX, 0x0000
+0x8b11 IFC PUSH, 0x0001
+0x8b13 IFN PUSH, 0x0001
+0x8b16 IFL PUSH, 0x0001
+0x8b17 IFU PUSH, 0x0001
+0x8ba4 MUL EX, 0x0001
+0x8ba5 MLI EX, 0x0001
+0x8ba6 DIV EX, 0x0001
+0x8ba7 DVI EX, 0x0001
+0x8f11 IFC PUSH, 0x0002
+0x8f13 IFN PUSH, 0x0002
+0x8f16 IFL PUSH, 0x0002
+0x8f17 IFU PUSH, 0x0002
+0x9311 IFC PUSH, 0x0003
+0x9313 IFN PUSH, 0x0003
+0x9316 IFL PUSH, 0x0003
+0x9317 IFU PUSH, 0x0003
+0x9711 IFC PUSH, 0x0004
+0x9713 IFN PUSH, 0x0004
+0x9716 IFL PUSH, 0x0004
+0x9717 IFU PUSH, 0x0004
+0x9b11 IFC PUSH, 0x0005
+0x9b13 IFN PUSH, 0x0005
+0x9b16 IFL PUSH, 0x0005
+0x9b17 IFU PUSH, 0x0005
+0x9f11 IFC PUSH, 0x0006
+0x9f13 IFN PUSH, 0x0006
+0x9f16 IFL PUSH, 0x0006
+0x9f17 IFU PUSH, 0x0006
+0xa311 IFC PUSH, 0x0007
+0xa313 IFN PUSH, 0x0007
+0xa316 IFL PUSH, 0x0007
+0xa317 IFU PUSH, 0x0007
+0xa711 IFC PUSH, 0x0008
+0xa713 IFN PUSH, 0x0008
+0xa716 IFL PUSH, 0x0008
+0xa717 IFU PUSH, 0x0008
+0xab11 IFC PUSH, 0x0009
+0xab13 IFN PUSH, 0x0009
+0xab16 IFL PUSH, 0x0009
+0xab17 IFU PUSH, 0x0009
+0xaf11 IFC PUSH, 0x000a
+0xaf13 IFN PUSH, 0x000a
+0xaf16 IFL PUSH, 0x000a
+0xaf17 IFU PUSH, 0x000a
+0xb311 IFC PUSH, 0x000b
+0xb313 IFN PUSH, 0x000b
+0xb316 IFL PUSH, 0x000b
+0xb317 IFU PUSH, 0x000b
+0xb711 IFC PUSH, 0x000c
+0xb713 IFN PUSH, 0x000c
+0xb716 IFL PUSH, 0x000c
+0xb717 IFU PUSH, 0x000c
+0xbb11 IFC PUSH, 0x000d
+0xbb13 IFN PUSH, 0x000d
+0xbb16 IFL PUSH, 0x000d
+0xbb17 IFU PUSH, 0x000d
+0xbf11 IFC PUSH, 0x000e
+0xbf13 IFN PUSH, 0x000e
+0xbf16 IFL PUSH, 0x000e
+0xbf17 IFU PUSH, 0x000e
+0xc311 IFC PUSH, 0x000f
+0xc313 IFN PUSH, 0x000f
+0xc316 IFL PUSH, 0x000f
+0xc317 IFU PUSH, 0x000f
+0xc711 IFC PUSH, 0x0010
+0xc713 IFN PUSH, 0x0010
+0xc716 IFL PUSH, 0x0010
+0xc717 IFU PUSH, 0x0010
+0xcb11 IFC PUSH, 0x0011
+0xcb13 IFN PUSH, 0x0011
+0xcb16 IFL PUSH, 0x0011
+0xcb17 IFU PUSH, 0x0011
+0xcf11 IFC PUSH, 0x0012
+0xcf13 IFN PUSH, 0x0012
+0xcf16 IFL PUSH, 0x0012
+0xcf17 IFU PUSH, 0x0012
+0xd311 IFC PUSH, 0x0013
+0xd313 IFN PUSH, 0x0013
+0xd316 IFL PUSH, 0x0013
+0xd317 IFU PUSH, 0x0013
+0xd711 IFC PUSH, 0x0014
+0xd713 IFN PUSH, 0x0014
+0xd716 IFL PUSH, 0x0014
+0xd717 IFU PUSH, 0x0014
+0xdb11 IFC PUSH, 0x0015
+0xdb13 IFN PUSH, 0x0015
+0xdb16 IFL PUSH, 0x0015
+0xdb17 IFU PUSH, 0x0015
+0xdf11 IFC PUSH, 0x0016
+0xdf13 IFN PUSH, 0x0016
+0xdf16 IFL PUSH, 0x0016
+0xdf17 IFU PUSH, 0x0016
+0xe311 IFC PUSH, 0x0017
+0xe313 IFN PUSH, 0x0017
+0xe316 IFL PUSH, 0x0017
+0xe317 IFU PUSH, 0x0017
+0xe711 IFC PUSH, 0x0018
+0xe713 IFN PUSH, 0x0018
+0xe716 IFL PUSH, 0x0018
+0xe717 IFU PUSH, 0x0018
+0xeb11 IFC PUSH, 0x0019
+0xeb13 IFN PUSH, 0x0019
+0xeb16 IFL PUSH, 0x0019
+0xeb17 IFU PUSH, 0x0019
+0xef11 IFC PUSH, 0x001a
+0xef13 IFN PUSH, 0x001a
+0xef16 IFL PUSH, 0x001a
+0xef17 IFU PUSH, 0x001a
+0xf311 IFC PUSH, 0x001b
+0xf313 IFN PUSH, 0x001b
+0xf316 IFL PUSH, 0x001b
+0xf317 IFU PUSH, 0x001b
+0xf711 IFC PUSH, 0x001c
+0xf713 IFN PUSH, 0x001c
+0xf716 IFL PUSH, 0x001c
+0xf717 IFU PUSH, 0x001c
+0xfb11 IFC PUSH, 0x001d
+0xfb13 IFN PUSH, 0x001d
+0xfb16 IFL PUSH, 0x001d
+0xfb17 IFU PUSH, 0x001d
+0xff11 IFC PUSH, 0x001e
+0xff13 IFN PUSH, 0x001e
+0xff16 IFL PUSH, 0x001e
+0xff17 IFU PUSH, 0x001e