diff --git a/2BACK.SPR b/2BACK.SPR new file mode 100644 index 0000000..fe4f7bf --- /dev/null +++ b/2BACK.SPR @@ -0,0 +1,1701 @@ +dw 320,85 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,93,97,97,93,93,93,93,93,97,97,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,97,97,97,97,97,97,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,97,97 +db 97,97,97,93,93,93,100,102,105,105,105,102,100,93,97,97 +db 97,97,97,97,97,97,97,97,97,94,94,97,94,94,97,97 +db 97,97,94,94,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,93,97,93,97,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,100,105,122,122,122,122,122,103,127,127,143,143 +db 143,134,134,120,49,49,49,49,49,120,120,120,120,134,127,127 +db 127,127,120,120,120,134,127,122,105,102,102,99,99,99,99,99 +db 99,99,100,100,100,102,122,122,122,122,105,102,99,99,99,99 +db 102,99,99,100,99,100,100,100,100,100,100,100,100,99,99,99 +db 99,99,99,99,99,99,99,100,100,99,99,99,99,99,100,100 +db 100,100,99,99,99,99,100,100,100,100,100,100,100,100,100,100 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,97,93,93,97,93,93,97,97,100,97,93,97,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,97,97,93,93,97,97,97,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,97,94,94,94,94,97,97,97 +db 97,97,97,97,97,93,93,97,102,122,122,105,102,100,93,93 +db 97,97,97,97,97,97,97,97,97,97,94,97,97,94,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,93,97,93,97,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,100,102,122,122,122,105,122,103,127,127,24,25 +db 25,25,24,143,120,120,120,120,120,120,120,120,134,143,24,127 +db 127,134,120,120,120,143,127,103,122,122,105,99,99,99,99,99 +db 99,99,100,100,99,105,103,122,122,105,105,102,99,99,99,99 +db 99,100,100,100,100,100,100,100,100,100,100,100,100,100,100,99 +db 99,99,99,99,99,99,100,100,100,99,99,99,99,100,100,100 +db 100,100,99,99,99,99,100,100,100,100,100,100,100,100,100,100 +db 100,100,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,97,93,93,97,93,97,97,97,97,97,93,97 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,97,93,97,93,93,97,97,94,94,94,94,94,94,94 +db 94,94,97,94,94,94,94,94,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,93,97,102,105,105,105,105,100,93 +db 93,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,93,97,97,97,93,97,97,93 +db 97,93,93,97,93,97,93,97,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,100,93,99,102,105,105,122,122,103,103,122,122 +db 122,122,103,24,24,134,134,120,120,120,120,134,134,143,143,143 +db 143,134,120,134,143,25,103,122,122,122,122,102,99,99,99,99 +db 99,99,99,99,105,103,103,103,122,102,102,102,99,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,99,99,99,100,100,100,100,100,99,99,100,100,100,100 +db 100,100,99,99,99,99,100,100,100,100,100,100,100,100,99,99 +db 99,100,100,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,97,97,93,93,97,93,93,93,97 +db 97,97,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,97,93,93,97,100,100,93,97,97,94,97,97,97,97,97 +db 94,97,97,97,97,97,97,97,97,97,97,97,97,97,93,93 +db 93,97,97,97,97,97,97,97,93,97,97,99,105,105,102,97 +db 93,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,93,97,97,97,97,97,97,97,97,97,93,93 +db 93,97,93,93,97,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,100,93,99,102,105,122,105,105,102,102 +db 102,102,122,103,127,24,143,134,134,134,134,134,143,143,127,127 +db 127,24,24,143,127,103,122,122,122,122,122,102,102,99,99,99 +db 99,99,99,102,122,103,103,103,122,102,99,99,99,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,99,99,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,99,99,100,100,100,100,100,100,100,100,100,102,122 +db 122,102,102,99,93,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,97,97,94,94,97 +db 97,94,94,94,97,97,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,97,94,97 +db 97,97,97,100,100,99,99,100,93,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,93,93,93 +db 93,97,97,97,97,97,97,97,97,93,93,97,99,105,105,100 +db 93,93,93,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,93,97,97,97,97,97,93,97,93,97,93,97,93,97 +db 93,93,97,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,100,99,99,99,100,100,100,100 +db 99,99,105,122,103,103,24,24,143,24,24,127,25,25,127,25 +db 103,103,103,103,103,122,105,105,105,105,102,102,102,99,99,99 +db 99,99,102,105,122,122,122,122,122,105,102,99,99,99,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,99,102,99,99,100,100,100,105,103 +db 103,122,122,102,100,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,97,97,97,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,97,94,97,97 +db 93,97,99,102,99,100,100,97,97,93,97,97,97,97,97,97 +db 93,93,93,97,97,97,97,97,97,97,97,93,93,93,97,100 +db 97,93,97,97,97,97,97,97,97,97,93,93,97,100,99,99 +db 100,93,93,93,93,97,97,97,97,97,97,97,97,97,97,93 +db 93,97,93,93,97,97,97,97,97,97,97,97,97,97,97,93 +db 97,97,97,97,97,93,97,93,97,93,97,93,97,93,93,93 +db 93,97,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,100 +db 100,99,105,105,105,122,122,122,103,122,122,122,105,105,105,105 +db 102,102,105,105,105,105,105,105,105,102,102,102,102,99,99,99 +db 99,99,105,105,105,105,105,122,105,105,102,99,99,100,99,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,99,102,105,105,99,100,100,100,105,103 +db 25,103,103,105,100,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,97,97,97,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,97,94,97,93,97 +db 100,99,122,122,102,100,93,93,93,93,97,97,97,97,97,93 +db 97,97,93,97,97,97,97,97,97,97,97,93,93,97,99,99 +db 100,93,93,97,97,97,97,97,97,97,93,93,93,97,97,97 +db 97,93,93,93,97,93,97,93,97,97,97,97,97,97,93,97 +db 99,99,99,97,97,97,97,97,93,97,97,93,97,97,97,97 +db 97,97,93,97,93,97,93,97,93,97,93,97,93,93,97,93 +db 97,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,100 +db 100,100,99,102,102,102,102,105,122,105,102,102,102,102,102,99 +db 99,99,102,102,102,105,122,122,105,105,102,102,102,99,99,100 +db 99,99,102,99,99,99,102,105,105,102,99,99,100,99,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,102,105,102,99,100,100,100,105,103 +db 25,103,122,99,100,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,97,97,97,97,97,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,97,94,97,97,93,100 +db 99,105,122,122,105,100,97,97,97,93,97,97,97,97,97,93 +db 93,93,97,97,97,97,97,97,97,97,97,97,93,93,102,102 +db 99,97,93,97,97,97,93,93,97,93,93,93,93,93,97,93 +db 93,93,93,93,93,97,93,97,93,97,93,97,97,97,93,100 +db 102,122,122,99,93,97,97,97,97,97,93,97,93,97,93,97 +db 97,93,97,93,97,93,97,93,93,93,93,93,93,97,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,100,100,100,93,93,93,93,93,93,93,93,93,93,93,100 +db 100,100,100,100,100,100,100,102,105,105,102,102,99,99,102,99 +db 99,102,102,105,105,122,122,122,105,105,105,102,102,99,100,100 +db 99,99,99,100,100,100,99,99,99,100,100,100,100,99,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,99,102,99,99,100,100,99,105,122 +db 103,122,102,100,100,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,97,97,97,94 +db 97,97,93,93,93,97,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,97,94,97,94,97,97,97,97,97,93,100 +db 102,122,103,103,105,102,99,100,100,93,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,93,97,99 +db 100,93,93,97,97,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,97,93,97,93,97,93,97,97,93,100 +db 105,122,122,102,97,93,97,93,97,97,97,93,97,93,97,93 +db 97,97,93,97,93,97,93,93,97,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,100,100,100,100,93,93,93,93,93,93 +db 100,100,100,100,100,93,93,93,93,93,93,93,93,93,100,100 +db 100,100,100,100,100,100,100,102,105,122,122,105,102,102,102,99 +db 99,99,102,102,122,103,103,122,105,105,105,102,99,99,99,100 +db 100,100,100,100,100,100,100,99,100,100,99,99,99,100,100,100 +db 100,100,100,100,100,99,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,99,99,100,100,100,100,99,105,122 +db 122,105,99,100,93,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,97,93,97,93,97,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,97,97,97,97,94,97,97,93,97,97 +db 99,105,122,122,105,105,102,99,97,93,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,93,93,93 +db 93,93,97,93,97,97,93,93,93,97,93,97,93,97,93,93 +db 93,93,93,93,93,93,93,97,93,97,93,97,93,93,93,97 +db 99,102,102,99,97,93,97,97,93,97,93,97,93,97,93,97 +db 93,97,97,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,100,93,93,93 +db 93,93,93,93,93,100,100,100,100,100,93,93,93,93,93,100 +db 99,102,99,100,100,93,93,93,93,93,93,93,93,93,100,99 +db 100,100,100,100,100,100,99,105,122,103,122,105,102,102,99,99 +db 99,99,99,99,102,105,122,105,102,102,102,99,99,99,99,100 +db 100,100,100,100,100,100,100,100,100,100,99,99,99,100,100,100 +db 100,100,100,99,99,102,99,99,99,99,99,99,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,99,102,102 +db 102,99,100,100,100,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,97,97,97,97,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,97,97,97,97,97,97,97,97,97,97,93,97 +db 100,102,105,105,105,102,99,100,93,97,97,97,97,97,97,93 +db 97,97,97,97,97,97,97,97,97,97,97,97,93,93,93,93 +db 93,97,93,97,93,97,97,97,97,93,97,93,97,93,97,93 +db 97,93,93,93,93,93,93,93,93,93,93,93,93,97,97,97 +db 97,97,100,100,97,93,93,93,97,93,97,93,97,93,97,93 +db 97,93,93,93,97,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,100,100,100,100,100,93,93,93,93,100,102 +db 122,103,122,99,100,100,93,93,93,93,93,93,93,100,100,99 +db 100,100,100,100,100,100,102,122,103,103,122,102,102,102,99,99 +db 99,99,99,99,102,102,102,102,99,99,99,99,100,99,99,99 +db 100,100,100,100,100,100,100,100,100,99,99,99,100,100,100,100 +db 100,100,99,99,102,102,99,99,102,99,99,99,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,99,99 +db 100,100,100,100,100,100,100,100,100,100,100,100,99,100,100,100 +db 100,100,100,99,93,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,97,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,97,94,97,97,97,97,97,97,97,97,97,97,93 +db 97,97,97,99,99,99,100,97,93,97,97,93,93,97,97,93 +db 93,93,97,97,97,97,97,97,97,97,97,97,97,97,93,93 +db 97,93,97,93,97,93,93,93,97,97,93,97,93,97,97,97 +db 93,97,93,93,93,93,93,93,93,93,93,93,97,97,97,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,97,93,93 +db 93,97,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,100,100,100,100,100,100,100,99,102,122 +db 103,127,103,105,99,100,100,93,93,93,93,100,99,99,102,99 +db 100,100,99,99,100,99,105,122,103,122,122,105,105,102,99,99 +db 99,99,99,99,99,102,102,102,99,99,99,100,100,100,100,100 +db 100,100,100,99,99,99,100,100,100,100,99,99,100,100,100,99 +db 99,99,99,102,102,102,102,102,102,99,99,99,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,99,100,100,99,99,102,102 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,99,100,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,97,94,97,97,97,97,97,97,97,97,97,97,93,97 +db 93,97,93,97,97,97,97,93,97,97,97,97,97,93,97,97 +db 97,97,93,97,97,97,93,97,97,97,97,97,97,97,97,97 +db 93,97,97,97,93,97,93,97,97,97,97,93,97,97,97,97 +db 97,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,97,93,93,97,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,100,100,100,100,100,100,100,99,105,122,103 +db 103,103,103,122,102,102,99,100,100,100,100,100,102,102,102,100 +db 100,100,100,100,99,99,102,122,103,103,122,122,105,102,99,99 +db 99,99,99,99,99,102,102,102,99,99,99,100,100,100,100,100 +db 100,100,99,99,99,99,100,100,99,99,99,99,100,100,99,99 +db 99,99,102,102,102,102,102,102,102,99,99,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,99,99,100,99,102,105,102,102 +db 100,100,99,100,100,100,100,100,100,93,100,93,100,100,93,93 +db 100,93,100,100,93,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,97,94,97,94,97,97,97,97,97,97,97,97,97 +db 97,93,93,97,93,97,93,97,93,97,93,97,93,97,93,97 +db 93,97,93,97,93,97,97,97,97,97,97,97,97,93,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,97,97 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,100,100,100,99,100,100,99,102,105,122,122 +db 103,103,122,122,122,105,99,100,100,100,100,99,102,102,99,100 +db 100,100,100,100,99,102,102,105,103,103,103,122,102,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,100,100,100,100 +db 100,100,100,100,99,99,99,99,99,99,99,99,100,100,102,99 +db 99,102,102,102,102,102,102,102,102,99,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,99,105,105,105,102,99 +db 99,99,102,99,100,100,100,100,100,100,93,93,93,93,93,93 +db 93,100,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,97,94,97,94,97,94 +db 94,97,97,94,97,94,97,94,97,97,97,97,97,97,97,97 +db 93,93,97,93,97,93,97,93,97,97,97,93,93,93,93,93 +db 97,93,93,93,97,93,97,97,97,93,97,97,97,97,97,97 +db 97,97,97,97,93,97,97,97,97,97,97,97,97,93,97,93 +db 97,93,97,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,97,93,93,93,93,97 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,100,100,100,99,99,99,102,105,102,105,122 +db 122,122,122,122,122,122,99,99,99,99,99,102,102,99,100,100 +db 100,100,100,99,105,122,122,122,127,127,103,105,102,102,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,100,100,100,100 +db 100,100,100,100,99,99,99,99,99,102,99,99,99,99,102,102 +db 102,102,102,102,102,102,102,102,102,99,99,100,100,100,100,100 +db 100,100,100,100,100,100,100,99,99,99,105,105,105,102,99,99 +db 102,105,105,102,102,99,100,100,100,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,97,94,97,94,97,94,94,94,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,93 +db 97,93,97,93,97,97,93,97,93,97,93,93,93,97,97,97 +db 100,100,100,93,93,97,93,97,93,97,97,93,97,93,97,97 +db 97,97,97,97,97,97,97,97,93,97,97,93,97,97,97,97 +db 93,97,93,97,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,100,100,99,102,102,102,102,102,102,105 +db 122,122,122,103,103,122,105,122,122,122,105,102,99,100,100,100 +db 100,100,102,122,103,127,127,127,127,127,103,105,105,102,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,100,100,100 +db 100,100,100,100,99,99,99,99,102,102,102,99,99,99,99,102 +db 102,102,102,102,102,99,99,99,99,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,102,102,105,105,102,99,100,99,102 +db 122,122,122,122,105,99,99,100,100,100,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,97,94,97,94,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,93 +db 93,93,97,97,97,97,97,93,97,93,93,97,100,99,99,99 +db 102,99,100,97,93,93,97,93,97,93,97,93,93,97,93,93 +db 97,97,97,97,97,97,97,93,93,97,93,97,93,93,97,93 +db 97,93,97,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,100,100,99,99,102,99,99,100,99 +db 102,122,122,127,127,103,103,127,127,103,122,102,100,100,100,100 +db 100,99,105,103,127,127,143,134,134,127,127,122,105,122,102,100 +db 100,100,100,100,99,99,99,99,99,99,99,99,100,100,100,100 +db 99,99,99,99,99,99,99,99,102,102,105,105,102,99,99,102 +db 102,102,102,102,99,99,99,99,99,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,99,102,102,102,102,99,93,93,99,105 +db 122,103,103,103,122,105,102,102,99,100,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,97,94,97,97,94,97,97,97,94,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,93,93 +db 93,93,97,97,97,97,97,97,93,93,97,102,105,122,122,103 +db 103,102,99,97,93,93,93,93,93,97,93,93,97,93,93,97 +db 93,97,97,97,93,97,97,97,97,93,97,93,97,97,97,97 +db 97,97,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,100,100,99,99,100,100,100,102 +db 122,103,127,127,127,103,103,127,127,103,122,102,99,100,100,100 +db 100,99,105,122,103,127,134,120,120,134,143,103,105,105,99,99 +db 100,100,100,100,100,100,99,99,99,100,99,100,100,100,100,99 +db 99,102,102,102,102,99,99,99,99,105,105,105,105,102,102,102 +db 102,102,102,102,102,99,99,99,99,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,99,99,99,99,99,100,100,99,102 +db 105,122,122,103,122,122,122,122,105,99,100,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,97 +db 94,97,94,97,97,94,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,93,93,100,100 +db 97,93,93,93,97,97,97,93,93,93,97,105,103,25,24,127 +db 143,127,105,99,97,93,93,93,93,93,97,93,93,93,97,93 +db 97,93,97,93,97,93,97,97,93,97,93,97,97,93,97,97 +db 97,93,97,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,100,100,99,99,99,102,105,103 +db 127,143,143,127,103,103,103,143,134,127,103,122,102,100,99,99 +db 99,102,102,122,103,127,120,49,49,120,134,127,122,102,99,99 +db 100,100,100,100,100,100,100,99,99,100,100,100,100,100,100,99 +db 102,105,122,122,105,105,105,102,102,105,122,122,105,105,105,102 +db 102,102,102,102,102,102,99,99,99,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,99,99,99,102,102,102,102,102 +db 105,102,105,122,122,103,103,122,105,99,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,94,97,94,97,94 +db 97,94,94,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,93,97,97,100,99,102,105 +db 105,99,100,97,93,93,93,93,93,93,93,99,122,25,24,134 +db 134,134,127,103,102,100,93,93,93,93,93,97,93,97,93,97 +db 93,97,93,97,93,93,97,97,97,93,97,97,97,97,93,97 +db 93,97,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,100,100,99,102,105,103,127 +db 143,134,134,143,103,103,127,134,120,134,143,127,105,99,99,99 +db 102,122,122,103,127,143,49,194,194,194,120,127,103,122,105,102 +db 102,99,100,100,100,100,100,99,99,99,100,100,100,100,99,102 +db 105,122,103,103,103,122,122,122,122,122,122,122,122,122,105,105 +db 102,102,102,102,102,99,99,99,99,100,100,99,102,102,99,99 +db 99,99,99,100,100,100,100,99,102,105,122,122,122,122,105,105 +db 122,105,102,105,122,103,122,105,99,100,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,94,97,94,97,94,97 +db 97,97,97,97,97,94,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,93,97,99,102,105 +db 105,105,105,102,99,100,93,93,93,93,93,97,99,122,25,143 +db 120,120,134,143,127,122,100,93,93,93,93,93,93,93,97,93 +db 93,93,97,93,93,97,93,93,97,97,97,97,97,93,97,93 +db 97,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,100,100,99,105,103,127 +db 127,143,143,127,127,127,143,134,134,134,134,127,122,102,102,102 +db 105,103,127,127,134,134,120,194,194,194,49,120,143,127,127,103 +db 122,102,99,100,100,100,100,99,100,100,100,99,102,102,122,122 +db 122,103,103,127,127,127,127,103,103,122,122,122,122,122,122,105 +db 105,102,102,102,102,99,100,99,99,99,99,99,102,105,102,102 +db 102,102,99,99,99,99,99,102,122,103,127,25,103,122,122,102 +db 105,102,102,105,122,105,102,99,100,100,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,94,94,94,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,93,97,97,93,97,93,97,93,97,97,100 +db 99,102,105,105,105,102,100,97,93,93,93,93,97,102,122,24 +db 134,134,120,134,134,127,102,93,93,93,93,93,93,93,93,97 +db 93,93,93,93,97,93,93,97,93,97,97,97,93,97,93,97 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,100,93,100,93,100,93,93,93,100,100,102,122,122 +db 103,25,127,127,127,127,127,143,134,134,134,127,122,105,105,105 +db 122,103,127,134,134,134,120,194,194,194,194,194,49,120,120,134 +db 127,105,99,100,100,100,100,99,99,99,102,105,122,103,103,122 +db 122,103,127,127,127,127,127,127,103,103,122,122,122,122,105,105 +db 105,102,102,102,99,99,99,99,99,99,102,102,102,105,105,105 +db 102,102,102,99,100,99,102,122,103,25,103,122,122,105,102,102 +db 105,102,102,102,102,102,99,100,100,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,94,97,94,97,94,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,93,97,93,97,93,97,93,97,97 +db 100,100,102,102,102,99,100,100,93,97,93,93,93,100,105,103 +db 24,143,134,134,134,127,105,97,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,97,97,93,97,93,97,93,97,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,100,93,100,93,93,93,93,100,100,99,105,105 +db 105,105,122,103,103,103,127,127,143,143,127,25,122,122,105,122 +db 103,127,134,134,134,24,134,120,194,194,194,194,194,194,49,120 +db 127,105,99,100,100,100,99,99,102,105,122,103,103,103,122,122 +db 103,103,127,127,127,127,127,127,103,103,122,122,122,105,105,105 +db 102,102,102,102,102,99,99,100,100,99,102,102,102,102,102,102 +db 102,99,99,100,100,99,99,105,122,122,105,102,102,99,99,99 +db 102,105,105,105,105,102,99,100,100,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,100,93,100,93,93,93,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94 +db 94,94,94,94,94,94,97,94,97,94,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,93,97,93,97,93,97,93,97,93,97 +db 93,97,100,99,99,100,100,97,93,93,93,93,93,100,99,105 +db 103,127,24,24,143,24,122,100,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,97,93,93,93,97,93,97,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,100,93,100,93,100,100,100,100,100,100,100,99,102 +db 99,102,122,122,122,122,103,127,143,24,127,103,122,105,105,122 +db 103,127,134,134,127,103,143,120,194,21,21,21,21,194,120,143 +db 103,102,99,99,99,99,102,105,122,103,127,127,103,122,122,122 +db 103,103,127,127,127,24,127,127,103,122,122,105,105,105,102,102 +db 102,102,99,99,99,99,99,100,100,99,102,102,102,102,99,99 +db 99,99,99,99,99,99,99,102,99,99,99,99,100,99,99,102 +db 102,122,103,103,122,105,102,102,99,100,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,100,93,100,93,100,93,100,93 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,97 +db 94,97,94,97,94,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,93,97,97,93,97,93,97,93,97,93,97,93 +db 97,97,100,99,99,99,97,97,93,93,93,97,93,100,99,105 +db 103,103,25,25,24,127,122,99,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,100,93 +db 100,93,100,93,100,93,100,93,100,100,100,100,100,100,100,100 +db 100,99,105,122,122,103,103,24,127,103,122,122,105,102,105,122 +db 103,127,143,24,122,103,143,120,194,21,21,21,21,21,49,127 +db 122,102,99,99,99,99,105,122,103,103,103,25,122,122,122,103 +db 103,127,127,127,127,127,127,103,103,122,122,105,105,105,105,105 +db 102,102,99,99,99,100,100,100,100,99,99,102,102,99,99,99 +db 105,105,122,122,105,99,99,99,100,100,100,100,100,99,102,102 +db 122,103,127,127,103,103,122,122,122,102,100,93,93,93,93,93 +db 93,93,93,93,93,93,93,100,93,100,93,100,93,100,100,100 +db 94,94,94,94,94,94,94,94,94,94,94,94,97,94,97,94 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,93,97,97,97,97,93,97,93,93,93,93,93,97,93,97 +db 93,97,100,100,99,99,100,97,100,100,100,100,100,100,100,99 +db 122,103,127,103,103,103,122,105,99,99,100,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,100,93,93,93,93,93,93,100 +db 93,100,93,100,93,100,93,100,100,100,100,100,100,100,100,100 +db 99,99,105,122,103,103,127,127,25,122,122,105,102,99,105,103 +db 127,127,103,122,103,127,120,194,194,21,21,21,21,21,194,120 +db 127,122,105,99,99,105,122,103,103,103,103,103,103,103,103,103 +db 127,127,127,127,127,127,127,103,103,103,122,122,105,105,105,105 +db 105,102,99,99,100,100,100,100,100,99,99,99,99,99,99,102 +db 103,127,143,143,127,122,99,99,100,100,100,100,100,100,99,102 +db 122,122,103,103,122,103,103,127,127,103,102,100,100,93,93,93 +db 93,100,93,100,93,93,100,93,100,93,100,100,100,100,100,100 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,97,97,97 +db 97,97,97,94,97,97,97,97,97,97,97,97,97,97,97,97 +db 93,97,97,97,97,97,97,97,97,97,93,97,97,97,93,97 +db 97,97,93,97,93,97,93,93,93,93,93,93,97,93,97,93 +db 97,100,100,100,100,100,100,100,100,102,102,99,99,99,99,99 +db 105,103,127,127,103,122,122,122,102,105,99,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,100,93 +db 100,93,100,93,100,93,100,93,100,100,100,100,100,100,100,100 +db 99,102,102,122,122,122,103,103,122,122,102,102,99,102,122,103 +db 143,127,103,122,127,134,49,194,194,21,21,21,21,21,21,194 +db 134,127,103,105,102,105,122,103,103,122,103,103,103,103,103,127 +db 127,127,127,127,127,127,127,127,103,103,103,103,103,122,122,122 +db 105,105,102,99,99,100,99,99,99,99,99,99,99,99,105,122 +db 127,143,134,134,127,103,102,99,99,100,100,100,100,100,99,102 +db 105,122,122,122,122,122,103,127,127,127,122,99,100,93,100,93 +db 93,93,100,93,100,100,93,100,100,100,100,100,100,100,100,100 +db 94,94,94,94,94,94,94,94,94,94,94,94,94,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,93,93,93 +db 100,93,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,93,97,93,97,93,97,93,93,93,93,93,93,97,93,97 +db 100,99,102,99,100,100,100,100,99,102,105,105,105,105,122,122 +db 105,122,103,25,122,122,122,122,105,122,102,100,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,100,93,100,93,100,93,100 +db 93,100,93,100,93,100,100,100,100,100,100,100,100,100,100,100 +db 99,99,99,102,102,105,105,122,122,105,102,99,99,102,122,127 +db 127,127,103,103,143,120,194,194,194,21,21,21,21,21,21,21 +db 49,134,127,105,102,102,105,122,122,103,103,103,103,103,127,127 +db 127,127,127,127,127,127,127,127,127,127,143,143,143,127,127,103 +db 122,122,105,99,99,99,99,99,100,99,99,99,99,102,122,127 +db 127,127,127,25,103,122,105,99,99,99,99,100,100,100,100,99 +db 102,105,105,102,105,122,103,127,127,127,122,99,100,100,93,100 +db 93,100,93,100,100,100,100,100,100,100,100,100,100,100,100,99 +db 94,94,94,94,94,94,94,94,94,97,94,97,94,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,93,93,93,100,100 +db 99,100,93,97,97,97,97,97,97,93,97,93,97,93,97,93 +db 93,97,93,97,93,93,93,93,93,93,93,93,97,93,97,93 +db 100,99,105,102,99,100,100,100,100,102,105,122,122,122,122,122 +db 122,105,122,122,122,105,105,105,105,105,102,102,100,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,100,93,100,93,100,93 +db 100,93,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,99,99,102,105,105,105,102,99,99,99,105,122,103 +db 127,127,127,127,134,49,194,194,194,194,21,21,21,21,21,21 +db 194,120,103,105,105,102,102,122,103,103,103,103,127,127,127,127 +db 127,127,127,127,143,127,127,134,120,134,120,120,120,134,127,103 +db 122,122,105,105,105,102,99,99,100,100,99,99,102,105,103,127 +db 127,127,122,122,105,105,102,99,99,99,99,100,100,100,100,100 +db 100,99,99,102,105,122,103,103,103,103,105,99,93,93,93,93 +db 100,93,100,93,100,100,100,100,100,100,100,100,100,100,100,99 +db 94,94,94,94,94,94,94,94,94,94,97,94,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,93,93,100,99,99 +db 99,99,100,93,97,97,93,93,97,97,93,97,93,97,93,93 +db 97,93,93,93,93,93,93,93,93,93,97,93,93,97,93,97 +db 97,99,105,102,100,100,100,100,100,100,99,102,105,122,122,122 +db 122,105,105,105,105,102,102,102,102,102,102,102,100,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,100,93,93,100,93,100,93,100,93,100 +db 93,100,93,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,99,102,105,102,102,99,99,102,105,122,103 +db 103,25,127,134,120,194,194,194,194,194,194,21,21,21,21,21 +db 194,134,122,105,105,105,105,122,103,103,127,127,127,127,127,127 +db 127,127,127,127,134,134,134,120,120,120,120,194,194,120,127,103 +db 103,122,122,122,103,103,122,102,99,100,99,99,102,122,103,127 +db 127,127,103,122,105,102,99,99,99,99,99,100,100,100,100,100 +db 100,99,102,102,105,122,122,122,122,105,102,100,100,93,93,93 +db 93,100,93,100,100,100,100,100,100,100,100,100,100,100,99,99 +db 94,94,94,94,94,94,94,97,94,97,94,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,93,97,100,99 +db 99,99,100,93,93,97,93,93,97,93,93,93,93,93,93,93 +db 93,93,97,93,93,93,93,93,97,93,93,97,93,93,97,93 +db 97,100,100,99,100,100,93,93,97,93,97,100,99,102,105,122 +db 105,102,102,99,99,100,99,100,99,99,99,100,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,100,93,100,93,100,93 +db 100,93,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,99,102,102,102,102,105,102,102,105,122,103 +db 103,127,143,120,120,194,194,194,49,120,194,194,21,21,21,21 +db 194,134,122,105,105,122,122,103,103,127,127,127,127,127,127,127 +db 127,127,127,143,134,134,120,120,120,120,120,49,49,120,134,127 +db 127,103,122,103,143,134,143,103,102,99,99,99,102,105,103,127 +db 127,127,103,122,105,102,102,99,99,99,99,99,100,100,100,99 +db 99,102,102,102,102,105,105,102,99,100,100,100,93,93,93,93 +db 93,93,100,93,100,100,100,100,100,100,100,100,99,100,100,99 +db 94,94,94,94,94,94,94,94,97,94,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,93,93,93,97,100 +db 99,99,93,93,93,93,97,93,93,93,97,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,97,97,97,97,97,97,97 +db 97,93,100,100,100,93,97,97,97,97,93,97,97,100,99,105 +db 102,99,100,100,100,93,100,100,100,100,100,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,100,93,93,100,93,100,93,100,93,100,93,100 +db 93,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,99,99,99,99,102,105,105,105,105,122,122,103 +db 127,127,134,120,49,194,194,194,194,194,194,194,194,194,194,21 +db 194,120,103,122,122,103,103,103,127,127,127,127,143,134,127,143 +db 143,134,134,134,134,134,120,120,49,194,49,120,120,120,120,134 +db 134,143,127,127,134,120,134,127,122,102,99,99,102,105,122,127 +db 127,127,103,105,102,102,99,99,99,99,99,99,99,99,102,105 +db 105,105,102,102,99,99,100,100,100,100,100,100,100,93,93,93 +db 93,100,93,100,100,100,100,100,100,100,100,102,102,102,102,102 +db 94,94,94,94,94,94,94,97,94,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,97,93,97,93,97 +db 100,100,93,93,93,93,97,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,97,93,97,93,97,93,97 +db 93,93,93,100,93,93,97,97,97,93,97,93,93,93,97,100 +db 100,97,93,93,93,93,97,100,100,100,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,100,93,93,93 +db 93,93,100,93,93,93,93,93,100,93,100,93,100,93,100,93 +db 100,93,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,99,99,99,99,99,99,102,105,105,122,122,122,103 +db 103,127,134,120,49,194,194,194,194,194,194,194,194,194,194,194 +db 194,49,134,127,103,127,127,127,127,127,127,127,143,134,134,143 +db 134,134,134,134,134,134,120,49,194,194,194,49,120,120,49,194 +db 194,120,120,120,120,49,120,127,122,105,102,105,105,105,103,127 +db 127,103,122,102,102,99,99,99,99,102,102,99,102,105,105,105 +db 105,102,99,100,100,100,100,100,100,100,100,100,93,100,93,93 +db 93,93,100,100,100,100,100,100,99,100,99,105,122,105,105,102 +db 94,94,94,94,94,94,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,93,97,93,93,93 +db 97,100,100,100,93,93,93,93,93,93,93,93,93,93,93,97 +db 93,93,93,93,93,97,93,93,93,97,97,93,97,93,97,97 +db 93,97,93,93,93,93,93,97,93,97,93,97,93,93,93,93 +db 93,93,93,93,97,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,100,93,93,100,93,93 +db 93,93,93,100,93,100,93,100,93,100,93,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,99 +db 99,99,99,99,99,99,99,99,99,102,102,105,122,122,122,122 +db 122,127,143,120,120,194,194,194,194,21,21,21,194,194,194,194 +db 194,194,49,134,143,143,143,134,143,143,143,143,143,143,134,143 +db 143,134,134,134,134,134,120,49,194,194,194,49,49,49,194,194 +db 194,194,49,49,194,194,120,127,103,122,122,105,105,122,103,127 +db 127,127,122,105,99,99,99,99,99,99,99,99,102,122,122,105 +db 102,102,99,100,100,100,100,100,100,100,100,100,100,93,100,93 +db 93,100,100,100,100,100,100,100,100,100,102,122,122,122,105,102 +db 94,94,94,94,94,94,94,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,93,97,97,93,97,93,93 +db 93,100,100,99,100,100,97,93,93,93,93,93,93,93,93,93 +db 93,93,93,97,93,93,97,93,97,93,93,97,93,97,97,97 +db 97,97,97,93,93,97,93,97,97,93,97,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 100,93,100,93,100,93,100,93,100,93,100,93,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,99,99 +db 99,99,99,99,99,99,99,99,99,102,102,102,105,122,122,105 +db 105,122,127,143,120,120,194,194,21,21,21,21,21,194,194,194 +db 194,21,194,194,49,120,120,120,120,134,134,134,143,143,127,127 +db 127,143,134,120,120,120,120,120,49,120,120,120,49,194,194,194 +db 194,194,194,194,194,194,49,143,103,122,103,122,122,122,103,103 +db 103,103,103,122,105,102,99,99,99,99,99,99,102,102,102,102 +db 102,102,99,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,102,122,122,122,105,102,102 +db 94,94,94,94,97,97,94,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,97,93,97,93,93,97 +db 93,97,100,102,105,102,102,93,93,93,93,97,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,97,93 +db 97,97,93,100,93,100,97,97,93,97,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,100,93,100,93,100 +db 93,100,93,100,93,100,93,100,93,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,100,100,99,99,99,99,102,102,102,102 +db 102,105,122,103,143,134,120,194,21,21,21,21,21,21,21,21 +db 21,21,21,21,194,194,194,49,120,134,134,143,127,127,127,127 +db 127,143,134,120,120,120,120,134,134,134,134,120,120,49,194,194 +db 194,194,194,194,194,194,49,143,103,103,103,103,103,103,103,103 +db 103,103,103,122,122,105,102,99,99,99,100,100,100,100,99,99 +db 99,99,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,99,102,105,122,105,102,102,102 +db 94,94,94,94,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,93,97,97,93,97,93,97,97,93,93,93,97 +db 93,93,93,100,102,102,102,100,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,97 +db 93,97,97,93,93,93,93,93,93,93,97,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,100,93,93,93,100,93,100,93 +db 100,93,100,93,100,93,100,100,100,100,100,93,100,100,100,100 +db 100,100,100,100,100,100,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,102,102,102 +db 102,102,105,122,127,134,120,194,21,21,21,21,21,21,21,21 +db 21,21,21,21,21,194,194,49,120,134,127,127,127,127,127,127 +db 127,143,120,120,120,134,134,143,134,134,134,120,120,120,49,49 +db 120,120,194,194,194,194,49,134,127,127,103,103,103,103,103,103 +db 122,122,122,122,122,122,105,102,102,99,99,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,99,99,102,102,102,102,102,99,99,99 +db 94,94,97,94,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,97,97,97,97,97,97,97,97,93,93,97,93,93,93 +db 97,97,93,93,97,100,100,97,93,93,93,93,100,100,93,93 +db 93,93,93,93,100,93,100,99,100,100,100,100,93,93,93,93 +db 93,93,93,97,97,97,93,97,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,100,93,93,100,93 +db 93,93,93,93,93,93,93,93,93,93,93,100,93,100,93,100 +db 93,100,93,100,93,100,93,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,102,102,102 +db 102,105,122,122,127,134,120,194,21,21,21,21,21,21,21,21 +db 21,21,21,21,21,194,194,49,120,134,143,127,127,127,127,127 +db 127,134,120,120,120,134,127,143,134,134,134,120,120,120,120,120 +db 120,120,49,194,194,120,120,134,127,127,103,103,103,103,103,103 +db 122,122,122,122,105,105,105,105,102,102,99,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,102,105,105,102,102,99,102,99,99,100 +db 94,97,94,94,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,93,97,97,97,93,97,93,97,93,97,93,93,93,93,93 +db 97,97,93,93,93,93,93,93,97,93,93,100,99,102,99,100 +db 93,93,100,99,102,99,99,102,105,122,122,102,100,93,93,93 +db 93,93,97,93,97,97,97,97,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,100,93,93,93,93,100,93,100,93,100,93,100,93,100,93 +db 100,93,100,100,100,93,100,93,100,100,100,100,100,100,100,100 +db 100,100,100,100,99,99,99,99,99,99,99,99,102,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,102,102,102 +db 105,122,122,103,127,134,120,194,194,194,21,21,21,21,21,21 +db 21,21,21,21,194,194,49,120,120,120,134,143,143,127,127,127 +db 127,143,134,120,120,134,143,143,134,134,120,120,120,120,134,134 +db 120,120,120,49,120,134,134,143,127,127,127,103,103,103,122,122 +db 122,105,105,102,102,102,102,102,102,99,99,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,99,102,105,102,102,102,102,99,99,100 +db 97,94,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 97,97,93,97,97,97,93,97,93,97,93,93,97,93,93,93 +db 93,93,93,93,93,93,93,93,93,100,100,100,99,105,105,102 +db 100,93,99,105,122,105,105,122,122,103,103,122,102,100,93,93 +db 93,93,93,97,93,97,97,97,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,100,93,93,100,93,100,93,100 +db 93,93,93,93,93,93,93,100,93,100,93,100,93,100,93,100 +db 93,100,93,100,93,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,99,99,99,99,99,99,99,99,99,102,99,99,99,99 +db 99,99,99,99,102,102,99,102,99,99,99,99,99,102,102,105 +db 122,122,103,103,127,134,120,120,120,49,194,194,194,194,21,21 +db 21,21,194,21,194,49,120,120,120,120,134,134,134,143,127,127 +db 127,127,143,134,134,134,134,134,134,134,120,120,134,134,134,134 +db 134,120,120,120,134,143,143,127,127,127,103,103,103,122,122,105 +db 102,102,102,99,99,99,99,99,99,99,99,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,99,102,102,102,102,102,102,102,99,100 +db 94,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97 +db 93,97,93,97,97,93,97,93,97,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,100,99,102,105,105,105 +db 102,100,99,105,103,103,103,103,122,122,103,103,122,99,100,93 +db 93,93,93,93,97,97,97,93,100,100,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,100,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,100,93,100,93 +db 93,93,100,93,100,93,100,93,100,93,100,93,100,93,100,93 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,102,99,99,102,102,102,99,99,99,99,99,102,102,105 +db 105,122,103,103,127,127,127,143,134,120,120,49,194,194,194,21 +db 21,21,21,21,194,49,120,134,120,120,120,120,120,134,143,127 +db 127,127,127,143,143,134,134,134,134,120,120,134,134,143,134,134 +db 134,134,134,143,127,127,127,127,127,103,103,122,122,105,102,102 +db 102,99,102,99,99,99,99,99,99,99,99,99,99,100,99,99 +db 99,99,100,99,99,99,99,99,99,99,99,100,99,100,99,99 +db 99,99,99,99,99,99,99,99,102,102,105,105,102,102,99,99 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,93,97 +db 97,97,93,97,93,97,93,97,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,100,99,102,105,122 +db 105,102,102,122,103,127,127,127,127,122,122,103,122,102,100,93 +db 93,93,93,93,93,93,93,100,99,100,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,100,93,100 +db 93,93,93,93,93,93,93,93,93,93,93,93,100,93,93,93 +db 93,93,100,93,93,93,93,100,93,100,93,100,93,100,93,100 +db 93,93,93,93,93,100,93,100,93,100,93,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,102,102,102,102,102,102,102,102,102,99,99,99,102,102,102 +db 102,105,122,122,122,103,127,127,127,134,120,120,194,194,194,21 +db 21,21,21,21,194,194,120,120,120,120,120,49,120,134,127,127 +db 143,134,143,127,143,143,143,134,134,134,134,134,134,143,134,143 +db 143,143,127,127,127,127,127,127,103,103,122,122,105,102,102,102 +db 102,102,102,102,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,102,102,102,102,102,99,99,99 +db 97,97,97,97,97,97,97,97,97,97,97,97,93,97,97,97 +db 93,97,97,93,97,93,93,93,93,93,97,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,100,99,105,122 +db 122,103,103,127,127,143,134,134,127,122,122,103,122,99,99,100 +db 93,93,93,93,93,93,97,100,102,99,100,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,100,93,93 +db 93,93,100,93,93,93,93,93,100,93,100,93,93,93,93,93 +db 93,93,93,93,100,93,93,100,93,93,93,93,93,93,93,100 +db 93,93,93,93,93,100,93,93,100,93,100,93,100,93,100,93 +db 100,93,100,93,100,93,100,93,100,100,100,100,93,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,102,102,102,102,102,102,105,122,105,102,99,99,102,102,102 +db 102,102,105,105,122,103,103,103,103,143,134,120,194,194,194,194 +db 194,194,194,194,194,194,120,120,120,120,120,194,120,134,127,127 +db 127,143,134,143,127,127,127,127,143,134,134,134,143,143,143,143 +db 127,127,127,127,127,127,127,127,103,122,122,105,102,102,102,102 +db 102,102,102,102,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,100,99,99,99,99,99,99,99,102,102,102,99,99,99 +db 97,97,97,97,97,97,97,97,97,97,97,97,97,97,93,97 +db 93,97,93,97,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,100,102,122 +db 103,127,24,127,143,143,143,143,127,122,122,103,122,105,100,100 +db 93,93,93,93,93,93,97,100,99,99,100,100,93,93,93,93 +db 93,93,93,93,93,93,100,93,100,93,93,93,100,93,93,93 +db 93,100,93,100,93,100,93,93,93,93,93,100,93,100,93,100 +db 93,100,93,100,93,100,93,93,93,93,93,100,93,100,93,100 +db 93,93,93,100,93,93,93,100,93,100,93,100,93,100,93,100 +db 93,100,93,100,93,100,93,100,100,100,93,100,100,100,93,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,102,102,102,105,105,122,127,143,103,105,102,102,102,102,102 +db 102,105,105,122,122,122,122,122,103,127,134,120,194,194,194,194 +db 194,194,194,194,194,49,120,120,120,120,120,49,120,134,127,127 +db 127,143,134,134,143,127,127,127,127,127,127,127,127,127,127,127 +db 24,127,127,127,127,127,127,127,103,103,122,122,105,102,102,102 +db 102,102,102,102,102,102,99,99,99,99,99,99,99,99,102,102 +db 105,105,105,102,102,102,99,99,99,99,99,99,99,99,99,99 +db 99,99,100,100,100,99,99,99,99,99,99,99,99,99,99,99 +db 94,97,97,97,97,97,97,97,97,97,93,97,93,93,97,93 +db 97,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,97,100,102 +db 122,25,24,127,127,24,24,25,122,105,122,122,122,102,100,93 +db 93,93,93,93,93,93,93,100,102,122,105,99,100,93,93,93 +db 93,93,93,93,100,93,93,93,93,93,93,93,100,93,100,93 +db 100,93,100,93,100,93,93,100,93,100,93,93,100,93,100,93 +db 93,93,100,93,100,93,93,93,100,93,100,93,93,100,93,93 +db 100,93,100,93,93,93,100,93,100,93,100,93,100,93,100,93 +db 100,93,100,93,100,93,100,93,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 105,122,122,122,103,127,134,120,194,134,103,105,105,105,105,122 +db 122,122,122,122,122,122,103,127,127,127,134,120,194,194,194,194 +db 194,194,194,194,194,120,120,188,120,120,120,120,120,134,127,127 +db 127,127,134,134,143,127,127,103,127,127,127,127,24,127,127,127 +db 127,127,127,127,127,127,127,103,122,122,122,122,105,102,102,102 +db 102,102,102,99,99,99,102,102,102,102,105,102,99,99,102,102 +db 105,105,105,105,102,102,102,99,99,99,99,99,99,99,99,99 +db 99,99,100,100,100,99,99,99,99,99,99,99,99,99,99,99 +db 97,97,97,97,97,97,97,97,97,97,97,97,93,97,93,97 +db 93,97,93,93,97,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,100 +db 102,122,127,127,24,127,122,102,99,99,102,105,102,100,93,93 +db 93,93,93,93,93,93,93,99,122,122,122,102,99,100,93,93 +db 93,93,93,93,93,93,93,100,93,100,93,100,93,100,93,100 +db 93,100,93,100,93,100,93,93,93,93,93,100,93,100,93,100 +db 93,100,93,100,93,100,93,100,93,100,93,100,93,93,93,100 +db 93,100,93,100,93,100,93,100,93,100,93,100,93,100,93,100 +db 93,100,93,100,93,100,100,100,93,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,99,99,99,99,99,99,99 +db 99,99,99,99,102,99,99,99,99,99,99,99,99,99,99,122 +db 127,134,120,120,120,49,194,194,194,49,143,103,127,127,127,127 +db 127,127,127,103,103,127,143,120,120,120,49,194,194,194,194,194 +db 194,194,194,194,194,120,120,120,120,120,120,120,120,134,127,103 +db 103,127,143,143,127,127,103,103,103,103,127,127,127,127,127,127 +db 127,127,127,127,127,127,103,103,122,122,122,122,105,102,102,99 +db 102,102,99,102,99,99,102,102,105,122,122,102,102,102,102,102 +db 102,102,102,102,105,105,105,102,99,99,99,99,99,99,99,99 +db 99,99,100,100,99,99,99,99,99,99,99,99,99,99,99,99 +db 97,97,97,97,97,97,93,97,93,93,97,93,97,93,97,93 +db 97,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 100,105,103,127,127,103,102,100,97,100,100,100,100,93,93,93 +db 93,93,93,93,93,93,100,99,105,122,122,105,99,93,93,93 +db 93,93,100,93,100,93,100,93,100,93,100,93,100,93,100,93 +db 100,93,100,93,100,93,100,93,100,93,100,93,100,93,100,93 +db 100,93,100,93,100,93,100,93,100,93,100,93,100,93,100,93 +db 100,93,100,93,100,93,100,93,100,93,100,93,100,93,100,93 +db 100,93,100,93,100,100,93,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,99,100,99,99,99,99 +db 99,99,99,102,102,99,99,99,99,99,99,99,99,99,105,127 +db 120,194,194,194,194,194,194,21,21,194,120,120,120,120,120,120 +db 120,134,143,127,127,127,134,120,120,49,194,194,194,194,194,194 +db 194,194,194,194,194,120,120,134,134,120,120,120,134,143,127,103 +db 103,127,127,127,127,103,103,103,103,103,127,127,127,127,127,127 +db 127,127,127,127,103,103,103,122,105,122,122,122,122,105,102,102 +db 102,102,99,102,99,102,99,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,105,105,102,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,100,100,99 +db 97,97,97,93,97,97,93,97,93,97,93,97,93,97,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 100,102,103,127,103,105,100,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,100,100,100,102,105,105,105,102,100,93,93 +db 93,93,93,100,93,100,93,100,93,100,93,100,93,100,93,100 +db 93,100,93,100,93,100,93,100,93,100,93,100,93,100,93,100 +db 93,100,93,100,93,100,93,100,93,100,93,100,93,100,93,100 +db 93,100,93,100,93,100,93,100,93,100,93,100,93,100,93,100 +db 93,100,93,100,93,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,99,99,99,99 +db 99,99,99,102,102,99,99,99,99,99,99,99,99,102,103,134 +db 120,194,194,194,194,194,21,21,21,21,194,194,194,194,194,194 +db 194,194,120,134,120,120,134,120,134,134,120,120,49,194,194,194 +db 194,194,194,194,194,120,120,134,134,134,134,134,143,127,103,122 +db 122,122,122,122,122,122,122,122,122,103,127,127,127,127,127,127 +db 127,127,127,103,103,103,103,122,122,122,103,122,105,102,102,102 +db 102,102,102,99,102,99,99,99,99,102,102,102,102,102,102,102 +db 99,99,102,102,102,102,102,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 97,97,97,97,97,93,97,93,97,93,97,93,93,93,93,97 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,100,105,103,122,102,100,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,100,93,100,100,99,102,105,105,105,99,100,93 +db 93,93,100,93,100,93,100,93,100,93,100,93,100,93,100,93 +db 100,93,100,93,100,93,100,93,100,93,100,93,100,93,100,93 +db 100,93,100,93,100,93,100,93,100,93,100,93,100,93,100,93 +db 100,93,100,93,100,93,100,93,100,93,100,93,100,100,100,100 +db 100,93,100,100,100,100,93,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,99,99,99,99 +db 99,99,102,99,102,99,99,99,99,99,99,99,99,105,127,120 +db 120,194,194,194,194,194,21,21,21,21,21,21,194,194,194,194 +db 194,194,194,194,49,49,49,120,134,127,143,120,49,194,194,194 +db 194,194,194,194,194,120,120,134,134,134,143,127,103,122,122,122 +db 105,122,122,122,122,122,122,122,103,127,127,127,127,127,127,127 +db 127,127,127,103,103,103,103,103,103,103,127,103,122,105,102,102 +db 102,102,102,99,99,99,99,99,102,102,105,105,105,102,99,99 +db 99,99,99,102,102,102,102,102,102,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 97,93,97,97,93,97,93,97,93,97,93,97,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,100,102,102,99,100,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,100,93,100,100,100,99,102,105,102,100,93 +db 93,93,93,100,93,100,93,100,93,100,93,100,93,100,93,100 +db 93,100,100,100,100,100,93,100,93,100,93,100,93,100,93,100 +db 93,100,93,100,93,100,93,100,93,100,93,100,93,100,93,100 +db 93,100,100,100,93,100,93,100,100,100,93,100,93,100,100,100 +db 93,100,100,93,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,99,99,99,99,99 +db 99,99,102,102,102,99,99,99,99,99,99,99,102,122,134,120 +db 120,49,120,49,194,194,194,21,21,21,21,21,21,21,21,21 +db 194,194,194,194,194,194,194,49,120,134,134,120,120,49,194,194 +db 194,194,194,194,49,120,120,134,127,127,127,103,122,105,105,105 +db 105,122,122,122,122,122,122,103,127,127,127,127,127,127,127,127 +db 127,127,127,103,122,122,122,122,122,103,103,103,103,122,122,105 +db 105,102,102,102,99,99,102,102,102,102,102,102,102,102,102,102 +db 99,99,99,99,99,102,99,99,102,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,102,102,102,102,102,102 +db 97,97,97,93,97,93,97,93,97,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,100,100,93,93,93,93,93,93,93,93,100,93 +db 93,93,93,93,100,93,93,100,100,100,100,99,99,99,99,100 +db 100,93,100,93,100,93,100,93,100,93,100,100,100,93,100,93 +db 100,93,100,93,100,100,100,93,100,93,100,93,100,93,100,93 +db 100,93,100,93,100,97,100,93,100,100,100,93,100,100,100,93 +db 100,100,100,93,100,93,100,93,100,93,100,93,100,100,100,93 +db 100,93,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,105,127,120,120 +db 120,120,120,120,49,194,194,194,21,21,21,21,21,21,21,21 +db 194,194,194,194,49,49,49,49,120,120,120,120,120,49,194,194 +db 194,194,194,194,120,134,134,143,127,103,103,103,122,122,105,105 +db 105,122,122,122,122,122,103,127,127,127,143,143,143,127,127,127 +db 127,127,127,103,122,122,105,105,105,105,122,122,122,122,122,105 +db 105,105,105,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 99,99,99,99,99,102,99,99,102,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,102,102,102,99,99,99 +db 93,97,93,97,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,100,93,93,93,93,93,93,93 +db 93,97,97,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,100,93,93,93,100,100,100,100,100,100,100,100,100,100 +db 93,100,93,100,93,100,93,100,100,100,93,100,93,100,93,100 +db 100,93,100,100,100,100,93,100,93,100,100,100,100,100,100,100 +db 100,100,100,100,93,100,93,100,100,93,100,100,93,100,93,100 +db 100,93,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,99,99,99,100,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,102,105,105,122,127,120,120 +db 120,49,120,120,120,49,194,194,194,194,194,21,21,21,21,21 +db 21,194,194,194,49,120,120,120,120,120,49,49,120,120,194,49 +db 49,49,120,120,120,143,127,127,103,103,122,122,122,122,122,105 +db 122,122,122,122,122,103,103,127,127,143,134,134,134,143,127,127 +db 127,127,103,103,122,122,105,105,105,105,105,105,105,105,105,122 +db 105,105,105,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,99,99,102,102,102,99,99,102,102,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,102,102,99,99,99,99 +db 97,93,97,93,93,97,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,100,93,93,93,100,93,100,93,100,93 +db 93,93,93,93,93,93,93,97,97,93,93,100,93,93,93,100 +db 93,100,93,100,93,100,93,100,100,100,100,100,100,100,100,100 +db 100,93,100,100,100,100,100,100,93,100,100,100,100,100,100,100 +db 100,100,100,100,93,100,100,100,93,100,100,93,100,93,100,93 +db 100,93,100,93,100,100,100,93,100,100,100,100,100,100,100,93 +db 100,100,100,100,100,100,93,100,100,100,93,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,99,99,99,99,100,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,122,103,103,127,134,120,120 +db 49,49,120,120,120,120,194,194,194,194,194,194,21,21,21,21 +db 21,21,194,194,194,49,49,49,49,194,194,194,194,194,49,120 +db 120,120,120,120,134,127,103,103,103,103,122,122,105,105,122,122 +db 103,103,103,103,103,103,127,127,127,143,143,134,134,127,127,127 +db 127,103,103,122,122,105,105,105,105,105,105,105,102,102,105,105 +db 105,105,102,102,102,102,102,102,102,102,102,102,102,102,105,102 +db 102,102,102,102,102,102,102,102,102,102,102,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,102,102,102,102,102,102 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,100,93,93,100,93,100,93,100,93,100,93,100,93,93 +db 100,93,100,93,100,93,93,93,97,97,93,93,100,93,100,93 +db 100,93,100,93,93,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,93,100,100,100,100,100,100,100,100,100,100,93 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,93,93,100 +db 100,100,100,100,100,100,100,100,100,100,93,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,102,122,103,127,143,134,120,49 +db 194,120,120,120,120,120,49,194,194,194,194,194,21,21,21,21 +db 21,21,21,21,194,194,194,194,194,194,21,21,194,194,194,120 +db 134,134,134,134,127,103,103,103,103,122,122,122,122,105,122,122 +db 103,127,127,127,127,127,127,127,127,127,127,143,143,127,127,127 +db 103,103,103,122,122,105,105,105,122,105,105,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,105,105,102,102,105,105,105,105 +db 105,102,105,105,105,102,105,102,102,102,102,102,102,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,102,102,102,102,102,105 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 100,93,93,93,100,93,100,93,100,93,100,93,100,93,100,100 +db 100,93,93,100,93,100,100,100,93,93,93,100,93,100,93,93 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,99,100,99,99,99,99,99,99,99,99,99 +db 100,99,99,99,99,99,99,102,105,122,103,127,143,134,120,120 +db 120,120,120,120,120,120,120,49,194,194,194,194,21,21,21,21 +db 21,21,21,21,21,194,194,194,194,194,21,21,21,21,194,120 +db 134,127,127,127,127,122,103,127,103,122,122,122,122,122,122,103 +db 127,127,127,127,127,127,127,127,127,127,127,127,143,127,127,127 +db 103,103,122,122,105,105,102,102,105,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,105,105,105,105,105,105,105,105 +db 105,105,105,105,105,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,99,102,102,102,102,99,99,102,102,102,105,105,105,105 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,100,93,93 +db 93,100,93,100,93,100,93,100,93,100,93,100,93,100,93,100 +db 93,100,100,93,100,100,93,100,100,93,100,100,93,100,100,100 +db 93,100,100,93,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,99,100,99,99,99,99,100,100,99 +db 99,99,99,99,99,99,99,102,105,122,103,127,127,134,120,120 +db 120,120,120,120,134,120,120,120,49,49,194,194,194,21,21,21 +db 21,21,21,21,21,21,194,194,194,194,194,21,21,21,194,49 +db 134,103,103,103,122,122,103,127,127,103,103,103,103,122,103,103 +db 127,143,134,134,143,127,127,127,127,127,127,127,127,127,127,103 +db 103,122,122,105,105,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,105,105,105,105,102,105,105,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,105,105,122,122,105,105 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,100,93 +db 100,93,100,93,100,93,93,93,100,93,100,93,100,100,100,100 +db 100,93,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,99,100,100,99,99,100,100,99,99,99,99,99,100,99 +db 99,99,99,99,99,99,99,102,105,122,122,103,127,143,134,134 +db 120,120,134,134,134,134,120,120,120,120,49,194,194,194,21,21 +db 21,21,21,21,21,21,21,194,194,194,21,21,21,21,194,194 +db 120,127,122,122,122,122,103,143,120,134,127,127,127,103,103,127 +db 143,134,120,120,134,134,134,127,127,103,103,103,103,103,103,103 +db 122,122,105,105,105,105,102,102,102,102,102,102,102,102,102,102 +db 102,102,105,105,102,102,102,105,105,105,102,102,102,105,105,105 +db 105,102,102,102,102,102,102,102,102,102,102,105,105,102,105,102 +db 102,102,102,102,102,102,102,102,102,105,105,122,122,105,105,105 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,100,93,100,100,93,100,93,100 +db 93,100,93,100,93,100,93,100,93,100,100,100,93,100,93,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,99,100 +db 99,100,99,100,99,99,99,100,100,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,102,105,105,122,122,103,103,127,127,143 +db 134,134,134,134,134,134,134,120,120,120,120,49,194,194,194,194 +db 21,21,21,21,21,21,21,21,21,21,21,21,21,21,194,194 +db 49,120,127,127,127,127,103,134,49,120,134,134,134,127,127,127 +db 134,120,49,194,120,134,134,143,127,103,103,122,122,122,122,122 +db 122,105,105,105,105,105,105,102,102,102,102,102,102,102,102,102 +db 102,105,105,105,105,102,105,105,105,102,102,102,105,105,105,122 +db 122,105,102,102,105,105,105,105,105,105,105,105,105,105,105,105 +db 102,102,102,102,102,102,102,102,102,105,105,105,122,105,105,105 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,93,93,93,100,93,93,100,93,100,93 +db 93,93,100,100,100,100,100,93,100,93,100,100,100,100,100,100 +db 100,100,100,99,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,99,100,100,100,100,100,100,100 +db 100,99,99,100,100,100,99,100,99,100,99,100,99,99,99,99 +db 100,99,99,99,99,99,99,100,100,99,99,99,99,99,99,99 +db 99,99,99,99,99,102,105,122,103,103,103,103,103,103,127,127 +db 127,127,134,134,134,134,134,134,120,120,120,120,120,49,194,194 +db 194,194,21,21,21,21,21,21,21,21,21,194,21,194,194,194 +db 194,194,49,120,120,120,134,120,194,194,120,49,120,120,120,120 +db 49,194,21,194,49,120,120,134,127,103,103,122,122,122,122,122 +db 122,122,122,122,122,122,105,105,105,102,105,102,105,105,105,105 +db 105,105,105,105,105,105,105,105,105,105,105,105,105,122,122,122 +db 122,105,105,105,105,105,122,122,105,105,105,105,105,105,122,105 +db 105,105,102,102,102,102,105,105,105,105,105,105,122,105,105,105 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,93,93,93,100,93,93,93,93,100,93,100,93,100 +db 93,100,93,100,93,100,100,100,100,100,100,100,100,100,100,100 +db 100,99,102,102,102,99,99,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,99,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,99,100,99,100,99,100,99,100,99,100 +db 99,100,100,100,100,99,100,100,100,99,100,99,100,99,99,99 +db 99,99,99,99,99,99,99,99,100,99,100,100,99,99,99,99 +db 99,99,99,99,99,102,105,122,103,103,103,103,103,103,103,103 +db 127,24,143,143,134,134,134,134,134,134,120,120,120,120,49,194 +db 194,194,194,194,21,21,21,21,21,21,21,194,194,194,194,194 +db 194,194,194,194,194,194,120,194,194,194,194,194,194,194,194,194 +db 21,21,21,21,21,194,49,120,143,127,127,122,122,105,122,122 +db 122,122,122,103,103,122,105,105,105,105,105,105,105,105,105,105 +db 105,122,122,122,105,105,105,122,105,105,105,122,122,122,122,122 +db 122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,105 +db 105,105,105,102,102,105,105,105,105,105,122,122,122,105,105,105 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93 +db 93,93,93,100,93,93,93,93,100,100,93,93,100,93,100,100 +db 100,100,99,99,99,99,99,99,99,105,99,100,100,100,100,100 +db 100,99,99,102,102,102,105,102,102,99,100,100,100,100,100,100 +db 100,100,100,100,100,100,99,100,100,100,100,100,100,100,100,100 +db 100,100,100,99,100,99,100,100,99,100,100,99,100,100,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,99,99,100,100,99,100,99,99,99,100,100,100,100,100 +db 100,100,100,100,100,100,99,99,100,99,99,99,100,99,100,99 +db 99,99,99,99,99,100,99,100,99,100,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,102,102,105,122,122,122,122,122,122,122,122,103 +db 127,143,134,134,134,134,134,134,134,134,134,120,120,120,120,49 +db 194,194,194,194,194,21,21,21,21,21,194,49,49,120,120,120 +db 49,49,194,194,194,194,194,194,194,194,194,194,194,194,194,194 +db 21,21,21,21,21,21,194,49,120,120,134,127,103,122,122,122 +db 103,127,127,103,103,122,122,105,105,105,105,105,105,105,105,105 +db 105,122,122,122,105,122,122,122,122,122,122,122,122,122,103,103 +db 122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,105 +db 105,105,105,105,105,105,122,122,122,122,122,122,122,122,122,122 +db 93,93,93,93,93,93,93,93,93,93,100,93,100,93,93,93 +db 93,93,93,93,93,93,93,100,99,99,100,100,100,100,100,100 +db 100,99,99,99,99,99,99,105,122,103,122,102,100,100,100,100 +db 100,100,100,99,99,99,102,105,102,99,99,100,99,99,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,99,100,99,100,100,99,100,100,100,99,100,100,100,100 +db 99,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,99,100,99,100,99,99,99,100,99,99,99,100,99,100,99 +db 100,100,99,99,100,99,100,99,99,100,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,100,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,102,99 +db 102,102,102,102,102,102,102,102,102,102,105,105,122,122,122,103 +db 127,134,134,134,134,134,134,134,134,134,134,134,134,134,134,120 +db 120,49,194,194,194,194,194,194,194,194,49,120,120,120,120,134 +db 120,120,120,120,49,49,49,49,49,194,194,194,194,194,194,194 +db 21,21,21,21,21,21,21,194,194,49,120,120,143,103,122,103 +db 127,134,134,127,122,122,122,122,122,122,122,122,105,105,105,122 +db 122,122,122,122,122,122,122,122,122,122,122,103,103,103,103,103 +db 103,103,103,103,103,103,103,103,103,103,103,103,103,122,122,122 +db 105,105,105,105,105,122,122,122,122,122,122,122,122,122,122,122 +db 93,93,93,93,93,93,93,93,93,93,93,93,93,93,100,93 +db 100,93,93,100,93,100,93,100,100,102,102,100,100,100,100,100 +db 99,102,99,100,100,99,102,122,127,24,103,105,100,100,100,100 +db 100,100,100,100,100,99,99,102,102,102,99,102,99,99,100,100 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,99,99,99,99,99,100,99,100,100,100,100,100,99,99 +db 100,100,100,100,100,100,100,100,100,99,100,100,100,100,99,100 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,100,99,99 +db 99,99,99,99,100,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,102,99,102,102 +db 102,102,102,102,102,102,102,102,102,102,105,105,122,122,122,103 +db 127,143,134,134,134,134,134,134,134,143,143,134,134,143,143,134 +db 134,120,120,120,120,120,120,49,49,49,120,120,120,120,134,143 +db 143,143,134,134,120,120,120,120,120,120,120,120,49,194,194,194 +db 21,21,21,21,21,21,21,21,194,194,49,49,120,143,127,134 +db 134,134,143,127,103,103,122,122,122,122,122,122,122,122,122,122 +db 122,122,122,122,122,103,103,103,103,103,103,103,103,103,103,103 +db 103,103,103,103,103,103,103,103,103,103,103,103,103,122,122,122 +db 122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122 +db 93,93,93,93,93,93,100,93,100,93,100,93,93,100,93,100 +db 93,100,93,93,100,93,93,100,100,99,102,99,100,100,99,102 +db 105,122,102,99,100,100,99,105,103,24,24,103,102,100,100,100 +db 100,100,100,100,100,99,102,102,99,99,99,99,102,99,99,100 +db 100,100,100,100,100,99,99,99,99,99,100,100,100,100,100,100 +db 100,100,99,99,99,100,99,99,100,99,100,99,99,99,99,100 +db 99,99,100,100,100,100,100,100,100,100,100,100,100,100,100,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,105,105,122,122,103 +db 127,127,134,134,134,143,143,143,127,127,127,127,127,127,127,127 +db 127,24,127,127,127,143,134,120,120,120,120,120,134,134,143,127 +db 127,127,127,127,143,143,143,134,134,134,120,120,120,49,49,194 +db 194,21,21,21,21,21,21,21,21,194,194,49,120,120,120,120 +db 120,134,127,127,127,127,103,103,122,122,122,122,122,122,122,122 +db 122,122,103,103,103,103,127,127,127,127,127,127,127,103,127,127 +db 103,103,103,127,127,103,103,103,103,103,103,103,122,122,122,122 +db 122,122,122,122,122,105,122,122,122,122,122,122,122,122,122,122 +db 93,93,93,93,93,100,93,100,93,100,93,93,93,93,93,100 +db 100,100,100,100,93,100,100,99,102,105,105,102,100,99,102,105 +db 122,103,105,99,100,100,99,102,122,25,24,127,122,102,99,100 +db 100,100,100,100,100,100,102,99,99,99,99,99,99,99,99,100 +db 100,100,100,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,100,99,100,99,99,99,99 +db 99,100,100,99,100,100,100,100,100,99,100,99,100,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,105,105,105,105,122 +db 122,103,127,127,127,127,127,127,103,103,103,103,103,127,127,103 +db 103,122,103,103,127,127,127,134,134,143,134,134,134,143,127,127 +db 127,127,127,127,127,127,127,127,143,143,134,120,120,120,120,49 +db 194,21,21,21,21,21,21,21,194,194,194,49,120,120,120,120 +db 120,134,134,134,134,127,127,127,127,103,122,122,122,122,122,122 +db 103,103,103,127,127,127,127,127,127,127,127,127,127,127,127,127 +db 127,103,127,127,127,127,127,127,103,103,103,103,122,122,122,122 +db 122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122 +db 93,93,100,93,100,93,100,93,93,93,93,100,93,100,99,100 +db 99,102,102,99,100,100,99,99,102,105,122,122,102,102,102,102 +db 122,122,102,99,100,100,100,99,102,122,25,127,103,122,102,100 +db 100,100,100,100,100,100,100,99,99,99,99,99,99,99,99,99 +db 99,100,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,100,99,100,100,100,100,100,99,100,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,102,102,102,102,102,102,102,102,102,105,105 +db 105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105 +db 105,122,122,103,122,122,122,122,122,122,122,103,103,103,103,122 +db 122,122,122,122,103,103,127,127,127,127,127,143,127,127,127,103 +db 127,127,127,127,127,127,127,127,127,127,134,134,134,120,120,120 +db 194,194,194,21,21,21,194,194,194,194,194,49,49,49,120,120 +db 120,120,120,134,134,127,127,127,127,103,103,103,103,103,103,103 +db 103,127,127,127,127,127,143,134,134,134,134,134,134,143,143,143 +db 127,127,127,127,127,127,127,127,127,103,103,103,103,103,103,103 +db 103,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122 +db 93,93,93,93,100,100,100,100,93,100,93,93,100,102,102,102 +db 105,105,105,105,102,102,99,99,99,102,105,122,122,105,102,99 +db 102,105,102,99,100,100,99,99,102,105,122,103,103,122,105,99 +db 100,100,100,100,100,100,100,100,100,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,102,102,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,100,100,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,102,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,102,102,102,102,102,105,122,122,122,122,122 +db 122,105,105,122,105,105,105,105,105,105,122,105,105,105,105,105 +db 105,105,105,105,105,105,105,105,105,105,122,122,122,122,122,122 +db 122,122,122,122,103,103,127,127,103,103,127,127,103,103,103,103 +db 103,127,127,127,127,127,127,127,127,143,134,134,134,134,120,120 +db 49,194,194,194,194,194,194,194,194,194,194,194,194,194,194,49 +db 120,120,120,134,134,127,127,127,127,127,103,127,127,127,127,127 +db 127,127,127,127,127,143,134,134,134,120,134,134,134,134,134,134 +db 134,143,143,127,127,127,127,127,127,127,103,103,103,103,103,103 +db 103,103,122,103,103,122,122,122,122,122,122,122,122,122,122,122 +db 93,93,93,100,93,93,100,100,93,93,93,100,100,102,102,105 +db 122,122,122,122,122,105,102,102,99,102,105,122,122,105,102,99 +db 99,99,99,99,99,99,99,102,105,105,122,103,103,103,105,102 +db 99,100,100,100,100,100,100,100,100,100,99,99,99,99,102,99 +db 99,99,99,99,99,99,99,99,102,102,102,102,102,99,99,99 +db 99,99,99,99,99,99,99,102,102,102,102,102,102,102,102,102 +db 102,102,102,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,99,99,99,102,99,102,102 +db 102,102,99,102,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,102,102,102,102,102,102,102,105,122,122,103,103,103,103 +db 103,103,103,103,103,122,122,103,103,103,103,103,122,122,122,122 +db 122,105,105,105,105,105,105,105,105,105,122,122,122,122,122,122 +db 122,122,122,122,122,122,103,103,103,103,127,103,122,122,122,122 +db 103,103,103,103,127,127,127,127,143,143,134,134,134,134,134,120 +db 120,120,120,49,49,49,49,194,194,194,194,194,194,194,194,194 +db 120,120,134,134,127,127,127,127,127,127,127,127,127,127,127,127 +db 127,127,127,127,143,134,134,134,120,120,120,134,134,120,120,134 +db 134,134,134,134,134,134,143,143,127,127,127,103,103,103,103,103 +db 103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103 +db 100,93,100,93,100,93,93,93,100,93,100,93,100,100,99,102 +db 105,122,122,122,122,122,105,102,102,105,122,122,122,105,105,102 +db 102,99,100,100,100,99,99,102,102,105,105,122,103,103,122,105 +db 99,100,100,100,100,100,100,100,99,99,99,99,99,99,102,102 +db 102,99,99,99,99,99,99,102,102,102,102,102,102,102,99,99 +db 99,99,99,99,99,99,102,102,102,102,102,102,105,122,102,105 +db 105,122,122,102,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,102,99,99,102,102,102,102,99,99,102 +db 99,99,99,99,99,99,99,99,99,99,102,102,102,102,102,102 +db 102,102,102,99,99,102,99,99,99,99,99,99,99,99,99,102 +db 102,102,102,102,102,102,102,105,105,105,122,103,103,103,103,127 +db 127,127,127,127,127,127,127,127,127,127,127,127,127,103,103,103 +db 122,122,122,122,122,122,122,122,122,122,122,122,105,122,122,122 +db 122,122,122,122,122,122,122,103,103,103,103,122,122,105,105,122 +db 122,103,103,103,103,103,127,127,143,143,134,134,134,134,134,134 +db 120,120,120,120,134,134,134,120,120,49,194,194,194,194,194,194 +db 49,134,143,127,127,127,127,127,127,127,127,127,127,127,127,127 +db 127,127,127,143,134,134,134,134,120,120,120,120,120,120,120,120 +db 120,120,120,120,120,134,134,134,134,127,127,127,103,103,103,103 +db 103,103,103,103,127,103,103,103,103,103,127,127,127,127,127,103 +db 93,100,93,100,100,100,100,100,100,100,100,100,100,100,99,99 +db 105,122,122,122,103,103,122,105,102,102,102,105,105,105,105,105 +db 102,99,100,100,100,99,99,99,99,99,102,105,122,122,105,102 +db 99,99,100,100,100,99,99,99,99,99,99,99,99,99,102,102 +db 102,102,99,99,99,99,99,99,102,102,102,102,102,102,99,99 +db 99,99,99,99,99,99,102,105,105,105,105,105,105,105,105,122 +db 122,103,122,105,102,99,99,99,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,99,102,102,102,102,102,102,102,99,102,102 +db 102,99,99,99,102,102,99,99,102,102,102,102,102,102,102,102 +db 102,102,102,99,99,102,102,99,102,102,102,99,99,102,102,102 +db 102,102,102,102,102,102,105,105,122,122,122,103,103,127,127,127 +db 143,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127 +db 103,103,103,122,122,122,122,122,122,122,122,122,122,122,122,122 +db 122,122,122,122,122,122,122,122,122,103,122,122,122,105,122,122 +db 122,122,103,103,103,103,103,103,127,127,143,134,134,134,134,134 +db 134,120,134,143,127,127,127,127,134,120,120,120,120,49,49,120 +db 120,134,143,127,127,127,127,127,127,127,127,127,127,127,127,127 +db 127,127,127,143,134,134,134,120,120,120,120,120,120,120,120,120 +db 120,120,120,120,120,120,134,134,134,134,143,127,127,127,127,103 +db 103,103,127,127,127,127,127,127,127,127,127,127,127,127,127,127 +db 100,93,93,100,93,100,100,100,100,100,100,100,100,99,99,99 +db 102,105,122,122,122,122,103,122,122,105,102,105,105,105,105,122 +db 105,99,100,99,100,99,99,102,99,99,99,102,102,102,102,102 +db 102,102,102,99,99,99,99,99,99,99,99,99,99,99,102,102 +db 102,102,99,99,99,99,99,99,102,102,102,102,102,102,102,99 +db 99,99,99,99,99,102,102,105,105,105,105,105,102,105,105,122 +db 105,122,105,102,102,99,99,99,99,99,99,99,99,99,99,99 +db 99,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,99,99,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,105,105,105,122,122,103,103,103,127,127,143 +db 134,143,127,127,127,127,127,127,143,143,143,127,127,127,143,127 +db 127,127,103,103,122,122,105,122,122,105,122,122,122,122,122,122 +db 122,122,105,105,122,122,105,122,122,122,122,122,122,122,122,122 +db 122,122,122,122,122,122,122,122,103,103,103,127,127,127,143,134 +db 120,120,134,127,127,127,127,127,127,143,134,134,134,134,134,134 +db 143,134,127,127,127,127,127,127,127,127,127,127,143,143,127,127 +db 127,127,127,143,134,134,134,120,120,120,120,120,120,120,120,120 +db 120,120,120,120,120,120,120,120,120,120,120,134,134,143,127,127 +db 127,127,127,143,127,127,127,127,127,127,127,127,127,127,127,127 +db 93,100,100,93,100,100,100,100,100,100,100,100,99,99,102,102 +db 102,105,105,122,122,122,122,122,122,122,105,102,102,102,122,122 +db 105,99,100,99,99,99,99,102,102,102,102,99,102,102,105,105 +db 105,105,105,102,99,99,99,99,99,99,99,99,99,99,99,102 +db 102,102,102,102,99,99,99,99,99,102,102,102,102,102,102,102 +db 102,99,99,99,99,102,102,102,102,105,105,102,102,105,105,105 +db 102,102,102,102,102,102,99,99,99,102,99,102,99,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,105,105,105,122,122,103,103,103,127,127,127 +db 143,143,143,143,143,143,143,143,143,134,134,143,143,134,143,143 +db 127,127,127,127,103,122,122,122,122,122,122,122,122,105,105,122 +db 122,122,105,122,122,122,122,105,122,122,122,122,122,122,122,122 +db 122,122,122,122,122,122,122,122,122,122,122,103,103,103,127,120 +db 120,120,143,127,103,103,127,127,127,127,127,127,143,127,127,127 +db 127,127,127,127,127,127,127,127,127,127,143,127,127,127,127,127 +db 127,127,143,134,134,134,120,120,120,120,120,120,120,120,120,49 +db 49,49,49,49,120,120,120,120,120,120,120,120,120,120,120,134 +db 134,134,134,134,134,134,134,143,143,143,134,143,127,127,127,127 +db 100,93,100,100,93,100,93,100,100,100,100,100,100,99,102,102 +db 102,105,122,122,122,122,122,105,102,105,102,102,99,99,122,122 +db 122,102,100,99,99,99,99,102,102,105,105,102,102,102,102,102 +db 105,122,105,102,99,99,99,99,99,99,99,99,99,99,99,99 +db 102,102,102,102,102,99,99,99,99,102,102,102,102,102,102,102 +db 102,102,99,99,102,102,102,102,102,102,102,102,102,105,105,105 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,105,105,105,105,105,122,103,103,127,127,127 +db 127,143,143,143,134,134,134,134,134,134,134,134,134,134,134,134 +db 143,127,127,127,103,122,122,122,122,122,122,122,122,122,122,122 +db 122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122 +db 122,122,122,122,122,122,122,122,122,103,103,103,103,103,127,134 +db 120,134,127,127,103,127,127,127,127,127,127,127,127,127,127,127 +db 127,127,127,127,127,127,127,127,127,143,134,127,127,127,143,143 +db 143,143,134,134,134,134,120,120,120,120,120,120,120,120,49,194 +db 194,194,194,194,194,194,194,194,194,194,194,194,194,194,194,49 +db 120,120,120,120,120,134,120,134,134,134,134,134,134,143,127,127 +db 93,100,93,93,100,100,100,100,100,100,100,100,100,99,102,102 +db 102,122,122,103,103,103,122,102,102,99,99,102,99,99,102,122 +db 105,102,99,99,102,102,99,99,102,102,102,102,102,102,102,102 +db 102,105,105,102,99,99,99,99,99,99,99,99,99,99,99,99 +db 99,102,102,102,102,102,99,99,99,102,102,102,102,102,102,102 +db 102,102,102,99,102,102,102,102,102,102,102,102,102,105,105,105 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,105,105,105,122,122,103,103,103,127 +db 127,127,127,143,134,134,134,134,134,134,134,134,134,134,134,134 +db 143,127,127,103,103,122,122,122,122,122,122,122,122,122,122,122 +db 122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122 +db 122,103,103,122,122,122,103,122,103,103,103,103,103,103,103,127 +db 134,143,127,127,127,127,127,127,127,127,127,127,127,127,127,127 +db 127,127,127,127,127,127,127,127,127,127,127,127,127,143,134,134 +db 134,134,134,134,134,134,120,120,120,120,120,120,120,49,194,194 +db 194,194,194,194,194,194,194,194,194,194,194,194,194,194,194,194 +db 194,194,194,194,49,120,120,120,120,134,134,134,134,134,134,134 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,99 +db 102,105,122,103,103,103,122,102,99,99,99,99,99,99,99,102 +db 102,102,102,102,105,122,105,102,102,102,102,102,102,105,122,105 +db 102,102,102,102,102,102,99,99,99,99,99,99,99,99,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,105,105,105,105 +db 105,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,105,102,105,102 +db 105,102,102,102,102,102,102,102,105,105,122,122,122,122,103,103 +db 127,127,127,127,143,134,134,134,134,134,134,134,134,134,134,134 +db 127,127,103,103,122,122,122,122,122,122,122,122,122,122,122,122 +db 122,122,122,103,103,103,103,103,103,103,103,103,103,122,122,122 +db 103,103,103,103,122,122,103,103,103,103,103,103,103,103,103,103 +db 127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127 +db 127,127,127,127,127,127,127,127,127,127,127,127,127,143,134,134 +db 134,134,134,134,134,134,120,120,120,120,120,120,120,194,194,21 +db 194,194,194,194,194,194,194,194,194,194,21,21,21,194,194,194 +db 21,21,21,21,194,194,49,120,120,120,120,120,134,134,134,120 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 102,102,105,122,122,105,105,102,99,99,99,99,99,99,99,102 +db 102,102,102,122,103,127,103,122,102,102,102,102,102,122,127,103 +db 105,102,102,102,102,102,99,99,99,99,99,99,99,99,102,102 +db 102,102,102,105,105,105,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,105,105,105 +db 105,105,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,105,102,102,105,105,105 +db 102,102,102,102,102,102,102,102,102,102,105,102,102,102,102,102 +db 102,102,102,102,102,102,105,105,105,105,105,122,122,122,122,122 +db 103,103,127,127,127,127,127,143,134,134,134,134,134,134,134,127 +db 127,103,103,122,122,122,122,122,122,122,122,122,122,122,122,103 +db 103,103,103,103,103,103,103,103,103,103,103,103,103,103,122,103 +db 103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103 +db 127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127 +db 127,127,127,127,127,127,127,127,127,127,127,127,143,143,134,134 +db 134,134,134,134,134,134,120,120,120,120,120,120,194,194,21,21 +db 21,194,194,194,194,194,194,194,194,194,21,21,21,21,21,21 +db 21,21,21,21,21,194,194,194,194,49,120,120,120,120,120,120 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,99,102,102,102,99,99,99,99,99,99,99,99,102,105 +db 102,102,102,122,103,127,127,103,122,105,102,102,102,122,127,127 +db 103,102,102,102,102,102,102,102,102,99,99,99,99,99,102,102 +db 102,102,105,105,105,105,105,102,105,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,105,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,105,122,105,105,122,122,122 +db 105,105,105,102,105,102,102,102,102,102,105,105,102,102,102,102 +db 102,102,102,105,102,105,105,105,105,105,105,105,105,105,105,122 +db 122,103,103,103,127,127,127,127,143,134,134,134,134,143,143,127 +db 103,103,122,122,122,122,122,122,122,122,122,103,103,122,103,103 +db 103,127,127,127,127,127,103,103,103,103,103,103,103,103,103,103 +db 103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,127 +db 127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127 +db 127,127,127,127,127,127,127,127,127,127,127,143,134,134,134,134 +db 134,134,134,134,120,120,120,120,194,194,194,194,194,21,21,21 +db 21,194,194,194,194,194,194,194,194,21,21,21,21,21,21,21 +db 21,21,21,21,21,21,21,21,194,194,194,120,120,120,120,120 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,100,100,100,100,99,99,99,99,99,100,99,99,102,105 +db 105,102,102,122,103,127,127,103,103,105,102,102,102,105,103,103 +db 103,105,102,102,102,102,102,102,102,102,102,99,99,102,102,102 +db 102,105,105,105,105,105,105,105,122,122,122,122,105,105,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,105 +db 105,122,105,105,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,105,105,122,122,105,122,103,103 +db 122,122,105,105,105,105,102,105,105,105,105,105,105,105,105,105 +db 102,102,102,102,102,105,105,105,105,105,105,105,105,105,105,122 +db 122,122,103,103,103,103,127,127,127,143,134,143,143,127,127,103 +db 103,103,122,122,103,103,103,103,103,103,103,103,103,103,103,103 +db 127,127,127,127,127,127,127,127,127,103,103,103,103,103,103,103 +db 103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,127 +db 127,127,127,127,127,127,143,127,143,127,127,127,127,127,127,127 +db 127,127,127,127,127,127,127,143,127,127,143,134,134,134,134,134 +db 134,134,134,120,120,120,120,49,194,194,194,194,21,21,21,21 +db 21,21,21,21,21,194,194,194,21,21,21,21,21,21,21,21 +db 21,21,21,21,21,21,21,21,21,21,194,194,194,49,49,49 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 99,100,100,100,100,99,99,99,99,99,99,99,99,99,102,102 +db 102,102,105,122,127,127,103,122,122,102,102,102,102,102,105,122 +db 105,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,105,105,105,105,105,122,103,127,127,127,127,103,105,105 +db 102,102,105,102,102,102,102,102,102,102,102,102,102,105,105,122 +db 103,127,103,122,105,102,102,102,102,102,102,105,105,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,105,105,105,122,122,122,122,122,122 +db 122,122,122,105,105,105,105,105,105,105,105,105,105,105,105,105 +db 105,105,105,105,105,105,105,105,122,122,105,105,105,105,105,122 +db 122,122,122,103,103,103,103,127,127,143,143,127,127,103,103,103 +db 103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103 +db 103,103,103,127,127,127,127,127,127,127,103,103,103,103,103,103 +db 103,103,103,103,103,103,103,103,103,103,103,103,127,127,127,127 +db 127,127,127,127,127,127,143,143,143,127,127,127,127,127,127,127 +db 127,127,127,127,127,127,127,143,143,143,134,134,134,134,134,134 +db 120,120,120,120,120,120,49,194,194,194,194,21,21,21,21,21 +db 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21 +db 21,21,21,21,21,21,21,21,21,21,21,194,194,194,194,194 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100 +db 100,100,99,100,99,99,99,99,99,99,102,102,102,102,102,102 +db 102,102,105,103,127,127,103,122,105,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,105,105,105,102,105,122,127,134,134,120,120,134,127,122 +db 105,105,105,105,105,105,102,102,102,102,102,102,105,122,122,103 +db 127,143,143,103,122,105,102,102,102,102,105,105,105,105,102,102 +db 105,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,105,105,105,105,105,122,105,122,122 +db 105,122,122,105,105,105,105,105,105,105,105,105,105,105,105,105 +db 105,122,122,105,105,122,122,122,122,122,122,122,122,122,122,122 +db 122,122,122,103,103,103,127,127,127,127,127,127,103,103,103,103 +db 103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103 +db 103,103,103,103,103,103,103,103,127,103,103,103,103,103,103,103 +db 103,103,103,103,103,103,103,103,103,103,127,127,127,127,127,127 +db 127,127,127,127,127,127,143,143,127,127,127,127,127,127,127,127 +db 143,143,143,127,127,127,127,143,134,134,134,134,134,120,134,120 +db 120,120,120,120,49,194,194,194,194,194,21,21,21,21,21,21 +db 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21 +db 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,194 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,99,100,100 +db 100,100,99,99,99,99,99,99,99,102,102,102,102,102,102,102 +db 102,102,102,122,103,127,127,122,105,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,102,102,105,102,102,102,102,102,102,102 +db 102,102,105,105,105,102,105,122,103,143,134,120,194,49,120,127 +db 122,122,105,105,105,105,105,105,105,105,105,105,122,127,127,134 +db 134,120,134,127,103,105,105,105,105,105,105,105,105,105,105,105 +db 105,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,105,105,105,105,105,105,105,105,122,105 +db 105,122,122,122,105,122,122,105,105,105,105,105,122,122,122,122 +db 122,122,122,122,122,122,122,122,122,122,103,122,122,122,122,122 +db 122,122,103,103,103,103,127,127,103,103,103,103,103,103,103,103 +db 127,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103 +db 103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103 +db 103,103,103,103,103,103,103,127,127,127,127,143,143,143,127,127 +db 127,127,127,127,127,127,127,143,127,127,127,127,127,127,127,127 +db 143,143,143,143,143,143,127,134,134,134,134,134,134,134,120,120 +db 120,120,120,194,194,194,194,194,194,21,21,21,21,21,21,21 +db 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21 +db 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21 +db 100,100,100,100,100,100,100,100,100,100,100,100,99,99,99,99 +db 99,99,99,99,99,99,99,99,99,102,102,102,102,102,102,102 +db 102,102,102,105,122,103,127,103,122,122,105,105,102,102,102,102 +db 102,102,102,102,102,102,102,105,122,105,102,102,102,102,102,102 +db 102,102,105,105,102,102,105,105,103,127,143,120,49,194,120,134 +db 127,127,122,122,105,105,105,105,105,105,105,122,103,127,134,120 +db 49,120,120,143,103,122,105,105,105,105,105,105,105,105,105,105 +db 105,102,102,102,102,105,105,102,102,102,102,102,102,102,102,102 +db 102,102,102,102,102,102,105,105,105,105,105,105,122,122,122,105 +db 105,122,122,105,105,105,122,122,105,105,105,122,122,122,122,122 +db 122,122,122,122,122,122,122,103,103,103,103,103,103,103,103,103 +db 103,103,103,103,127,127,127,127,127,103,103,127,127,127,127,127 +db 127,127,127,127,103,103,103,103,103,103,103,103,103,103,103,103 +db 103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103 +db 103,103,103,103,103,127,127,127,127,143,143,134,143,127,127,127 +db 127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,143 +db 143,134,134,134,134,143,143,134,134,134,134,134,134,134,120,120 +db 120,120,49,194,194,194,194,194,194,21,21,21,21,21,21,21 +db 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21 +db 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21 +db 100,100,100,100,100,100,100,100,100,100,100,100,100,99,99,99 +db 99,99,99,99,99,99,99,99,99,102,102,102,102,102,102,102 +db 102,102,102,105,105,122,103,127,127,127,103,122,102,102,102,102 +db 102,105,102,102,102,105,122,103,127,122,105,102,102,102,102,102 +db 102,102,102,102,102,105,105,122,122,103,127,143,120,49,49,120 +db 120,134,127,122,122,105,105,105,105,105,105,105,122,127,134,120 +db 49,49,49,120,127,122,122,105,105,105,122,122,122,122,105,105 +db 105,105,102,102,105,105,105,105,102,102,102,102,102,102,102,102 +db 102,102,102,102,105,105,105,105,105,105,105,105,122,122,122,105 +db 105,122,122,105,122,122,122,122,122,122,122,122,122,122,122,103 +db 103,103,103,103,103,103,103,127,127,127,143,127,127,127,127,143 +db 127,127,127,127,127,127,143,143,127,127,127,143,134,134,134,134 +db 134,134,134,143,127,127,127,127,127,127,127,103,103,103,103,103 +db 103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103 +db 103,103,103,127,127,127,143,134,134,134,134,134,143,127,127,127 +db 127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,143 +db 143,134,134,134,134,134,134,134,120,134,134,134,134,120,120,120 +db 120,120,49,194,194,194,194,194,194,21,21,21,21,21,21,21 +db 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21 +db 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21 +db 100,100,100,100,100,100,100,100,99,100,100,100,99,99,99,99 +db 99,99,99,99,99,99,99,99,102,102,102,102,102,102,102,102 +db 102,105,105,122,122,103,103,127,127,143,127,103,105,102,102,102 +db 102,105,105,105,105,122,103,127,143,103,122,105,105,105,105,105 +db 105,105,105,102,105,105,105,122,122,122,103,127,143,134,120,49 +db 49,120,134,127,122,122,105,105,105,105,105,105,122,103,127,143 +db 134,120,120,120,143,103,122,122,122,122,122,122,122,122,122,122 +db 105,105,105,105,105,105,105,105,105,105,102,102,102,102,102,102 +db 102,102,102,102,105,105,105,105,105,122,122,122,122,122,122,122 +db 105,122,122,122,122,122,122,122,122,122,122,122,122,103,103,103 +db 103,103,103,103,127,127,127,143,134,134,120,120,134,134,120,120 +db 120,120,120,134,134,120,120,120,120,120,120,120,49,49,194,194 +db 194,49,120,120,120,134,134,143,143,127,127,127,127,127,127,127 +db 127,127,127,127,127,127,127,127,127,103,103,103,103,127,127,127 +db 127,127,127,127,143,134,134,134,134,134,134,134,127,127,127,127 +db 103,103,127,127,127,127,127,127,127,143,127,127,127,127,143,134 +db 134,134,120,120,120,120,120,120,120,120,120,120,120,120,120,120 +db 120,49,194,194,194,194,194,194,194,21,21,21,21,21,21,21 +db 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21 +db 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21 +db 100,100,100,100,100,100,100,100,99,99,99,99,99,99,99,99 +db 99,99,99,99,99,102,99,102,102,102,102,102,102,102,102,102 +db 102,105,105,122,122,103,127,127,127,134,134,127,122,105,105,102 +db 102,105,105,122,122,127,127,134,134,127,103,122,122,122,122,122 +db 105,105,105,105,105,105,105,122,105,122,122,103,103,127,134,120 +db 120,120,120,134,127,122,105,105,105,105,105,105,105,122,122,103 +db 103,127,143,143,127,127,122,122,122,122,122,122,122,122,122,122 +db 105,105,105,105,105,105,105,105,105,105,105,102,102,102,102,102 +db 102,102,102,102,105,105,105,105,105,122,122,122,122,122,122,122 +db 105,122,122,122,122,122,122,122,122,122,122,122,103,103,103,103 +db 127,127,127,127,127,134,134,134,134,120,120,120,120,120,120,120 +db 49,49,49,49,120,120,49,194,194,194,49,194,194,194,194,194 +db 194,194,194,194,194,49,120,120,120,120,120,134,134,127,127,127 +db 127,134,134,134,134,134,134,143,127,127,127,127,127,127,127,127 +db 143,143,143,134,134,134,120,120,134,134,134,143,127,127,103,103 +db 103,127,127,127,127,127,127,143,143,143,143,143,143,134,134,120 +db 120,120,120,120,49,49,49,49,120,120,120,120,120,120,120,120 +db 49,194,194,194,194,194,194,194,194,194,194,194,21,21,21,21 +db 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21 +db 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21 diff --git a/A-I-END.MUE b/A-I-END.MUE new file mode 100644 index 0000000..5803a48 Binary files /dev/null and b/A-I-END.MUE differ diff --git a/A-I-MENU.MUE b/A-I-MENU.MUE new file mode 100644 index 0000000..b608cfc Binary files /dev/null and b/A-I-MENU.MUE differ diff --git a/A-I-OVER.MUE b/A-I-OVER.MUE new file mode 100644 index 0000000..a12e218 Binary files /dev/null and b/A-I-OVER.MUE differ diff --git a/A-I-PROL.MUE b/A-I-PROL.MUE new file mode 100644 index 0000000..79d0309 Binary files /dev/null and b/A-I-PROL.MUE differ diff --git a/A-I-S1.MUE b/A-I-S1.MUE new file mode 100644 index 0000000..bf4f610 Binary files /dev/null and b/A-I-S1.MUE differ diff --git a/A-I-S2.MUE b/A-I-S2.MUE new file mode 100644 index 0000000..dea17e4 Binary files /dev/null and b/A-I-S2.MUE differ diff --git a/A-I-S3.MUE b/A-I-S3.MUE new file mode 100644 index 0000000..452e126 Binary files /dev/null and b/A-I-S3.MUE differ diff --git a/A-I-S4.MUE b/A-I-S4.MUE new file mode 100644 index 0000000..fec2013 Binary files /dev/null and b/A-I-S4.MUE differ diff --git a/A-I-S5.MUE b/A-I-S5.MUE new file mode 100644 index 0000000..8906cc2 Binary files /dev/null and b/A-I-S5.MUE differ diff --git a/A-I-S6.MUE b/A-I-S6.MUE new file mode 100644 index 0000000..bf4f610 Binary files /dev/null and b/A-I-S6.MUE differ diff --git a/A-I-STAF.MUE b/A-I-STAF.MUE new file mode 100644 index 0000000..8b27de4 Binary files /dev/null and b/A-I-STAF.MUE differ diff --git a/A1.GRP b/A1.GRP new file mode 100644 index 0000000..981e78d Binary files /dev/null and b/A1.GRP differ diff --git a/A2.GRP b/A2.GRP new file mode 100644 index 0000000..8714a04 Binary files /dev/null and b/A2.GRP differ diff --git a/A3.GRP b/A3.GRP new file mode 100644 index 0000000..f1d72b9 Binary files /dev/null and b/A3.GRP differ diff --git a/A4.GRP b/A4.GRP new file mode 100644 index 0000000..1d49be5 Binary files /dev/null and b/A4.GRP differ diff --git a/A5.GRP b/A5.GRP new file mode 100644 index 0000000..17c90ef Binary files /dev/null and b/A5.GRP differ diff --git a/A6.GRP b/A6.GRP new file mode 100644 index 0000000..a417af8 Binary files /dev/null and b/A6.GRP differ diff --git a/A7.GRP b/A7.GRP new file mode 100644 index 0000000..17a621c Binary files /dev/null and b/A7.GRP differ diff --git a/A8.GRP b/A8.GRP new file mode 100644 index 0000000..64b4d94 Binary files /dev/null and b/A8.GRP differ diff --git a/BACK1.BOD b/BACK1.BOD new file mode 100644 index 0000000..1563ebd Binary files /dev/null and b/BACK1.BOD differ diff --git a/BACK2.BOD b/BACK2.BOD new file mode 100644 index 0000000..87e85da Binary files /dev/null and b/BACK2.BOD differ diff --git a/BACK3.BOD b/BACK3.BOD new file mode 100644 index 0000000..78f307c Binary files /dev/null and b/BACK3.BOD differ diff --git a/BACK4.BOD b/BACK4.BOD new file mode 100644 index 0000000..aa4eb33 Binary files /dev/null and b/BACK4.BOD differ diff --git a/BACK5.BOD b/BACK5.BOD new file mode 100644 index 0000000..96bb308 Binary files /dev/null and b/BACK5.BOD differ diff --git a/BACK6.BOD b/BACK6.BOD new file mode 100644 index 0000000..7a2c514 Binary files /dev/null and b/BACK6.BOD differ diff --git a/BACK7.BOD b/BACK7.BOD new file mode 100644 index 0000000..588638c Binary files /dev/null and b/BACK7.BOD differ diff --git a/C01.GRP b/C01.GRP new file mode 100644 index 0000000..0bd8c20 Binary files /dev/null and b/C01.GRP differ diff --git a/CONFIG.DAT b/CONFIG.DAT new file mode 100644 index 0000000..6c169a0 Binary files /dev/null and b/CONFIG.DAT differ diff --git a/E1.GRP b/E1.GRP new file mode 100644 index 0000000..cca3442 Binary files /dev/null and b/E1.GRP differ diff --git a/ENBAR.SPR b/ENBAR.SPR new file mode 100644 index 0000000..0f79f83 --- /dev/null +++ b/ENBAR.SPR @@ -0,0 +1,3 @@ +dw 4,7 +db 68,68,68,39,68,68,68,39,68,68,68,39,68,68,68,39 +db 68,68,68,39,68,68,68,39,68,68,68,39 diff --git a/ENBAR0.SPR b/ENBAR0.SPR new file mode 100644 index 0000000..4205fb6 --- /dev/null +++ b/ENBAR0.SPR @@ -0,0 +1,3 @@ +dw 4,7 +db 44,44,44,39,44,44,44,39,44,44,44,39,44,44,44,39 +db 44,44,44,39,44,44,44,39,44,44,44,39 diff --git a/END.PAL b/END.PAL new file mode 100644 index 0000000..e76119a Binary files /dev/null and b/END.PAL differ diff --git a/ENDMAP.BOD b/ENDMAP.BOD new file mode 100644 index 0000000..b8606a2 Binary files /dev/null and b/ENDMAP.BOD differ diff --git a/ENMAP1.ASM b/ENMAP1.ASM new file mode 100644 index 0000000..f02fffd --- /dev/null +++ b/ENMAP1.ASM @@ -0,0 +1,140 @@ +; object creation map +; +; + .386 + +_data segment dword public use32 'data' +; 16 * 128 +dd 0,0,0,0,3,0,0,5, 5,0,0,2,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,10, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,6,0,0, 1,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 1,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,1, 0,6,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,9,9,0,3, 2,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,9,9,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 8,6,0,0,0,0,0,0 +dd 0,0,0,0,0,3,0,0, 0,0,2,0,0,0,0,0 +dd 0,0,0,0,0,0,0,9, 9,0,0,0,0,0,0,0 +dd 0,0,0,0,0,3,0,0, 0,0,6,0,0,0,0,0 +dd 0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,0,6,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,2,0,0,0,0,0,0 +dd 0,0,0,0,0,6,8,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,6,0,0,0,0,0 +dd 0,0,0,0,0,6,0,0, 0,5,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,1, 0,0,0,8,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,6,0, 0,0,2,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,2,0,0,0,0,0 +dd 0,0,0,0,0,6,0,8, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,1,0, 0,6,0,0,0,0,0,0 +dd 0,0,0,0,7,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,6,0, 0,0,1,0,0,0,0,0 +dd 0,0,0,0,0,0,5,0, 0,5,0,7,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,8, 8,6,0,2,0,0,0,0 +dd 0,0,0,0,0,7,0,1, 0,0,0,2,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,1, 1,0,8,0,0,0,0,0 +dd 0,0,0,0,6,0,0,0, 0,0,0,6,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,7,0,0,8, 8,0,6,0,0,0,0,0 +dd 0,0,0,0,0,3,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,3,0,0, 0,0,6,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,2,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,2,0,0,0,0,0 +dd 0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,9,9,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,4,0,0,0, 0,0,0,4,0,0,0,0 +dd 0,0,0,0,0,4,0,0, 0,0,4,0,0,0,0,0 +dd 0,0,0,0,0,0,4,0, 0,4,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0 +dd 0,0,0,0,0,6,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0 +dd 0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,1, 0,6,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,1,0, 0,1,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,6, 0,1,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,1,0, 0,0,6,0,0,0,0,0 +dd 0,0,0,0,3,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,3,0,0,0, 0,0,6,0,0,0,0,0 +dd 0,0,0,0,3,0,0,0, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,3,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,3,0,0,0, 7,0,0,0,0,0,0,0 +dd 0,0,0,0,3,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,2,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 1,0,0,2,0,0,0,0 +dd 0,0,0,0,0,0,6,0, 0,0,0,2,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,6,0,2,0,0,0,0 +dd 0,0,0,0,0,1,0,0, 0,0,0,2,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,2,0,0,0,0 +dd 0,0,0,0,0,0,1,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,7,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 6,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,1,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,6,0,0, 0,6,0,0,0,0,0,0 +dd 0,0,0,1,0,0,0,1, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,8,0,0,0, 0,0,0,8,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,8, 8,6,0,0,0,0,0,0 +;---------------------------------- +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,8, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,8, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,6,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,9,9,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,9, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,9,9,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,6,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,8, 8,0,6,0,0,0,0,0 +dd 0,0,0,0,0,6,0,0, 0,0,6,0,0,0,0,0 +dd 0,0,0,0,0,0,0,8, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 + +_data ends + + END diff --git a/ENMAP1.BOD b/ENMAP1.BOD new file mode 100644 index 0000000..2600e7b Binary files /dev/null and b/ENMAP1.BOD differ diff --git a/ENMAP2.ASM b/ENMAP2.ASM new file mode 100644 index 0000000..52ba362 --- /dev/null +++ b/ENMAP2.ASM @@ -0,0 +1,140 @@ +; object creation map +; +; + .386 + +_data segment dword public use32 'data' +; 16 * 128 +dd 0,0,0,0,0,0,0,6, 0,0,7,0,0,0,0,0 ; +dd 0,0,0,0,0,8,0,0, 6,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,10,0,6, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,1,0,0,0,0,0 ; +dd 0,0,0,0,7,0,8,0, 0,1,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 1,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,4,0, 0,7,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,4,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,4,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,4,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,7,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,9, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,1,1, 1,1,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 4,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 4,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,6,0, 4,6,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 4,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 4,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,7,0,0, 0,0,7,0,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,8,0,0,0,7, 7,0,0,0,8,0,0,0 +dd 0,0,0,0,0,0,7,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,7,0,0, 0,0,7,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 5,0,0,0,0,0,0,0 +dd 0,0,0,0,0,6,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,6,4, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,8,0,4, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 0,6,0,0,0,0,0,0 +dd 0,0,0,0,0,7,0,4, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,6,4, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 6,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,7,8, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,7,6,0,8, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,8,0,0,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,8,7,0, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 7,0,0,7,0,0,0,0 +dd 0,0,0,0,7,0,1,1, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 1,1,0,0,0,0,0,0 +dd 0,0,0,0,0,0,1,1, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 1,1,0,0,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,1,1, 0,6,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,7, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,7,0,0,0,0,0 +dd 0,0,0,0,0,0,0,6, 6,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,5,0, 0,5,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,8, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 7,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,7,0,0, 7,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 4,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,7, 4,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 4,0,0,6,0,0,0,0 +dd 0,0,0,0,7,0,0,0, 4,0,7,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 4,0,0,0,0,0,0,0 +dd 0,0,0,0,0,6,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,7,0,0,0,0,0 +dd 0,0,0,0,8,1,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 1,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,3,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,5,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,9,0,0,0 +dd 0,0,0,0,0,0,0,0, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,2,0,0,0, 0,2,0,2,0,0,0,0 +dd 0,0,0,0,0,2,0,0, 2,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 0,0,0,0,0,0,0,0 +;---------------------------------- +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,7, 7,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,4,0, 0,4,0,0,0,0,0,0 +dd 0,0,0,0,0,0,4,0, 0,4,0,0,0,0,0,0 +dd 0,0,0,0,0,0,4,0, 0,4,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,8, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,2,0,2, 2,0,2,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,6,0, 0,6,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,2,0,2, 2,0,2,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,7, 7,0,8,0,0,0,0,0 + +_data ends + + END diff --git a/ENMAP2.BOD b/ENMAP2.BOD new file mode 100644 index 0000000..4693105 Binary files /dev/null and b/ENMAP2.BOD differ diff --git a/ENMAP3.ASM b/ENMAP3.ASM new file mode 100644 index 0000000..c583d67 --- /dev/null +++ b/ENMAP3.ASM @@ -0,0 +1,140 @@ +; object creation map +; +; + .386 + +_data segment dword public use32 'data' +; 16 * 128 +dd 0,0,0,0,0,0,7,4, 0,0,7,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,7,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,7,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 7,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,5,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,5,0,0,0,0,0,0 ; +dd 0,0,0,0,0,5,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,5,0,0,0,0,0,0 ; +dd 0,0,0,0,0,5,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,3,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 4,0,0,3,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,7,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 7,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,7, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,7,0,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 4,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,5,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,5,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,5,0, 4,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,5,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 4,0,0,0,0,0,0,0 +dd 0,0,0,8,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,4,0, 6,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 6,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 6,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 4,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,3, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,4,3, 0,4,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,3, 4,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,7, 7,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,7, 7,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,4,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 4,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,2, 2,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,1,0,0, 0,0,1,0,0,0,0,0 +dd 0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,7,0,0,0, 0,0,0,7,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,5,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,5,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 4,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,7,0,0,0,0 +dd 0,0,0,0,0,0,0,7, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,4,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,4,0,0,0,0,0,0 +dd 0,0,0,0,0,0,4,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,4,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 0,0,0,7,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 7,0,0,0,0,0,0,0 +dd 0,0,0,0,0,7,0,0, 0,0,7,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,8,0,0,0,0,0,0 +;---------------------------------- +dd 0,0,0,0,0,0,0,0, 9,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,7,5, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,5, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,7,0,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,7,4, 0,0,7,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 7,0,3,0,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,7,0,0, 0,0,7,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 7,0,0,0,0,0,0,0 +dd 0,0,0,0,0,7,0,0, 0,0,3,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 7,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 + +_data ends + + END diff --git a/ENMAP3.BOD b/ENMAP3.BOD new file mode 100644 index 0000000..423132b Binary files /dev/null and b/ENMAP3.BOD differ diff --git a/ENMAP4.ASM b/ENMAP4.ASM new file mode 100644 index 0000000..622ba9c --- /dev/null +++ b/ENMAP4.ASM @@ -0,0 +1,140 @@ +; object creation map +; +; + .386 + +_data segment dword public use32 'data' +; 16 * 128 +dd 0,0,0,0,0,0,0,3, 3,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,11,0,0,0,0 ; +dd 0,0,0,0,0,10,0,0, 8,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,8,0,1, 1,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 10,0,0,0,0,0,0,0 ; +dd 0,0,0,0,11,0,0,0, 0,0,0,8,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,11, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,8,0,0,0, 0,0,10,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,5, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,5,0, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 5,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,5,0,0,0,0,0,0 +dd 0,0,0,0,0,0,11,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,7, 0,0,0,10,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,7,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,7,0,0,0,0,0 +dd 0,0,0,0,0,0,11,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 4,4,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,3,3, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 11,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,10,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,8, 0,0,0,10,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,11,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 7,0,0,0,0,0,0,0 +dd 0,0,0,0,10,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 0,0,11,0,0,0,0,0 +dd 0,0,0,0,0,0,0,10, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,7, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 11,0,0,0,0,0,0,0 +dd 0,0,0,0,0,3,3,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,8,0,0,10, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,8,0,0,0,0 +dd 0,0,0,0,0,0,0,6, 6,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,1, 0,0,4,4,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,3,3,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,11,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,5, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,10,5, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,5, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,10, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,11,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,10,0, 11,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,10,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,11,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,11,0,0,0, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,11, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,10,0,0,0,0,0 +dd 0,0,0,0,0,11,0,0, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,11,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,2, 2,0,0,0,0,0,0,0 +;---------------------------------- +dd 0,0,0,0,0,0,0,0, 0,11,0,0,0,0,0,0 +dd 0,0,0,0,0,10,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,12,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 6,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,3, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,3,0, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,10,0,0, 5,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,5,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 11,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 4,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,4,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,0,0,0,0,0 + +_data ends + + END diff --git a/ENMAP4.BOD b/ENMAP4.BOD new file mode 100644 index 0000000..f524c1b Binary files /dev/null and b/ENMAP4.BOD differ diff --git a/ENMAP5.ASM b/ENMAP5.ASM new file mode 100644 index 0000000..366fe82 --- /dev/null +++ b/ENMAP5.ASM @@ -0,0 +1,140 @@ +; object creation map +; +; + .386 + +_data segment dword public use32 'data' +; 16 * 128 +dd 0,0,0,0,0,0,0,0, 8,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,3,3, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 3,3,0,0,0,0,0,0 ; +dd 0,0,0,0,0,8,0,0, 8,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,5,0,0, 8,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,1,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,8,0,0,8, 5,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,2,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,2, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 2,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,9,0,0,0,0,0,0 +dd 0,0,0,0,0,0,1,0, 9,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,9, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,1,1, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 5,5,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,1,1, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,8,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,2, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,2, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,2, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,9,0, 0,9,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,9, 9,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 0,4,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,8, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,8, 0,9,0,0,0,0,0,0 +dd 0,0,0,0,0,0,9,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 6,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,6,0, 0,6,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,6, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,8, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,5, 5,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,9,0, 0,9,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,4, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,3,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,3,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,2,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,2,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,2,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,7,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,7, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 7,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,8, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0 +;---------------------------------- +dd 0,0,0,0,0,0,0,0, 10,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 1,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,8, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,3, 3,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,1,0, 0,8,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,8, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 8,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 1,1,0,0,0,0,0,0 + +_data ends + + END diff --git a/ENMAP5.BOD b/ENMAP5.BOD new file mode 100644 index 0000000..d3df07b Binary files /dev/null and b/ENMAP5.BOD differ diff --git a/ENMAP6.ASM b/ENMAP6.ASM new file mode 100644 index 0000000..990df2a --- /dev/null +++ b/ENMAP6.ASM @@ -0,0 +1,140 @@ +; object creation map +; +; + .386 + +_data segment dword public use32 'data' +; 16 * 128 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,8,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,8,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,8,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,8,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +;---------------------------------- +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 + +_data ends + + END diff --git a/ENMAP6.BOD b/ENMAP6.BOD new file mode 100644 index 0000000..6b9059c Binary files /dev/null and b/ENMAP6.BOD differ diff --git a/ENMAP7.ASM b/ENMAP7.ASM new file mode 100644 index 0000000..67a0647 --- /dev/null +++ b/ENMAP7.ASM @@ -0,0 +1,140 @@ +; object creation map +; +; + .386 + +_data segment dword public use32 'data' +; 16 * 128 +dd 0,0,0,0,0,0,0,10, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,9, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 ; +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,8, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,7, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,6, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,5, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,4, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,3, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,2, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +;---------------------------------- +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 +dd 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 + +_data ends + + END diff --git a/ENMAP7.BOD b/ENMAP7.BOD new file mode 100644 index 0000000..1cdcd35 Binary files /dev/null and b/ENMAP7.BOD differ diff --git a/EXIT.GRP b/EXIT.GRP new file mode 100644 index 0000000..0ed254c Binary files /dev/null and b/EXIT.GRP differ diff --git a/GAMMA11.DAT b/GAMMA11.DAT new file mode 100644 index 0000000..b7673e4 --- /dev/null +++ b/GAMMA11.DAT @@ -0,0 +1,7 @@ +;------------------------------- +; GAMMA 1.1 +;------------------------------- + +db 0, 1, 3, 4, 5, 6, 7, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25 +db 26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,45,46,47,48 +db 49,50,51,52,53,54,55,56,57,58,58,59,60,61,62,63 diff --git a/GAMMA12.DAT b/GAMMA12.DAT new file mode 100644 index 0000000..6b0ebbc --- /dev/null +++ b/GAMMA12.DAT @@ -0,0 +1,8 @@ +;------------------------------- +; GAMMA 1.2 +;------------------------------- + +db 0, 2, 4, 5, 6, 8, 9,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27 +db 28,29,30,31,32,33,34,35,36,37,38,39,40,40,41,42,43,44,45,46,47,48,48,49 +db 50,51,52,53,54,55,55,56,57,58,59,60,60,61,62,63 + diff --git a/GAMMA13.DAT b/GAMMA13.DAT new file mode 100644 index 0000000..9f46753 --- /dev/null +++ b/GAMMA13.DAT @@ -0,0 +1,8 @@ +;-------------------------------- +; GAMMA 1.3 +; +;-------------------------------- + +db 0, 3, 4, 6, 8, 9,10,12,13,14,15,16,18,19,20,21,22,23,24,25,26,27,28,29 +db 30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,44,45,46,47,48,49,49,50 +db 51,52,53,54,54,55,56,57,58,58,59,60,61,61,62,63 diff --git a/GAMMA14.DAT b/GAMMA14.DAT new file mode 100644 index 0000000..e1923e9 --- /dev/null +++ b/GAMMA14.DAT @@ -0,0 +1,7 @@ +;------------------------------- +; GAMMA 1.4 +;------------------------------- + +db 0, 3, 5, 7, 9,10,12,13,14,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31 +db 32,33,33,34,35,36,37,38,39,40,41,41,42,43,44,45,46,46,47,48,49,50,50,51 +db 52,53,53,54,55,56,56,57,58,59,59,60,61,62,62,63 diff --git a/GAMMA15.DAT b/GAMMA15.DAT new file mode 100644 index 0000000..2db4dd6 --- /dev/null +++ b/GAMMA15.DAT @@ -0,0 +1,7 @@ +;------------------------------- +; GAMMA 1.5 +;------------------------------- + +db 0, 4, 6, 8,10,12,13,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33 +db 34,35,36,37,38,38,39,40,41,42,43,43,44,45,46,47,47,48,49,50,50,51,52,53,53 +db 54,55,55,56,57,58,58,59,60,60,61,62,62,63 diff --git a/GAMMA18.DAT b/GAMMA18.DAT new file mode 100644 index 0000000..e314e22 --- /dev/null +++ b/GAMMA18.DAT @@ -0,0 +1,7 @@ +;------------------------------- +; GAMMA 1.8 +;------------------------------- + +db 0, 6, 9,12,14,15,17,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36 +db 37,38,39,39,40,41,42,42,43,44,45,45,46,47,48,48,49,50,50,51,52,52,53,54 +db 54,55,55,56,57,57,58,58,59,60,60,61,61,62,62,63 diff --git a/GAMMA23.DAT b/GAMMA23.DAT new file mode 100644 index 0000000..e161d88 --- /dev/null +++ b/GAMMA23.DAT @@ -0,0 +1,9 @@ +;------------------------------------- +; gamma correction table +; +; gamma = 2.3 64 levels +;------------------------------------- + +db 0,10,14,17,19,21,23,24,26,27,28,29,31,32,33,34,35,36,37,37,38,39,40,41 +db 41,42,43,44,44,45,46,46,47,48,48,49,49,50,51,51,52,52,53,53,54,54,55,55 +db 56,56,57,57,58,58,59,59,60,60,61,61,62,62,63,63 diff --git a/GS-HALL1.SYX b/GS-HALL1.SYX new file mode 100644 index 0000000..c777807 --- /dev/null +++ b/GS-HALL1.SYX @@ -0,0 +1 @@ +AB@0 AB@3R: \ No newline at end of file diff --git a/GS-RESET.SYX b/GS-RESET.SYX new file mode 100644 index 0000000..2bc453a Binary files /dev/null and b/GS-RESET.SYX differ diff --git a/HELP.GRP b/HELP.GRP new file mode 100644 index 0000000..81b92fb Binary files /dev/null and b/HELP.GRP differ diff --git a/HELP.PCX b/HELP.PCX new file mode 100644 index 0000000..4e32d1d Binary files /dev/null and b/HELP.PCX differ diff --git a/HELP0.SPR b/HELP0.SPR new file mode 100644 index 0000000..a112e4a --- /dev/null +++ b/HELP0.SPR @@ -0,0 +1,70 @@ +dw 52,21 +db 160,160,189,189,189,0,0,0,0,160,160,189,189,189,0,0 +db 0,0,0,0,0,160,160,189,189,189,189,189,160,160,189,189 +db 189,0,0,0,0,0,0,0,0,0,160,160,189,189,189,189 +db 0,0,0,0,163,163,195,195,195,0,0,0,0,163,163,195 +db 195,195,0,0,0,0,0,163,163,195,195,195,195,195,195,195 +db 163,163,195,195,195,0,0,0,0,0,0,0,163,163,195,195 +db 195,195,195,195,195,195,0,0,165,165,200,200,200,0,0,0 +db 0,165,165,200,200,200,0,0,0,165,165,200,200,200,200,200 +db 200,200,200,200,165,165,200,200,200,0,0,0,0,0,0,165 +db 165,200,200,200,200,200,200,200,200,200,200,0,168,168,205,205 +db 205,0,0,0,0,168,168,205,205,205,0,0,168,168,205,205 +db 205,205,205,205,0,0,0,0,168,168,205,205,205,0,0,0 +db 0,0,0,168,168,205,205,205,205,168,168,205,205,205,205,0 +db 170,170,207,207,207,0,0,0,0,170,170,207,207,207,0,0 +db 170,170,207,207,207,207,0,0,0,0,0,0,170,170,207,207 +db 207,0,0,0,0,0,170,170,207,207,207,207,0,0,170,170 +db 207,207,207,207,170,170,207,207,207,0,0,0,0,170,170,207 +db 207,207,0,170,170,207,207,207,207,0,0,0,0,0,0,0 +db 170,170,207,207,207,0,0,0,0,0,170,170,207,207,207,0 +db 0,0,0,170,170,207,207,207,179,179,207,207,207,0,0,0 +db 0,179,179,207,207,207,0,179,179,207,207,207,0,0,0,0 +db 0,0,0,0,179,179,207,207,207,0,0,0,0,0,179,179 +db 207,207,207,0,0,0,0,179,179,207,207,207,179,179,207,207 +db 207,0,0,0,0,179,179,207,207,207,179,179,207,207,207,207 +db 0,0,0,0,0,0,0,0,179,179,207,207,207,0,0,0 +db 0,0,179,179,207,207,207,0,0,0,179,179,207,207,207,207 +db 184,184,210,210,210,0,0,0,0,184,184,210,210,210,184,184 +db 210,210,210,0,0,0,0,0,0,0,0,0,184,184,210,210 +db 210,0,0,0,0,0,184,184,210,210,210,0,0,184,184,210 +db 210,210,210,0,184,184,210,210,210,210,210,210,210,210,210,210 +db 210,210,184,184,210,210,210,210,210,210,210,210,210,210,210,210 +db 184,184,210,210,210,0,0,0,0,0,184,184,210,210,210,184 +db 184,210,210,210,210,210,210,0,187,187,211,211,211,211,211,211 +db 211,211,211,211,211,211,187,187,211,211,211,211,211,211,211,211 +db 211,211,211,211,187,187,211,211,211,0,0,0,0,0,187,187 +db 211,211,211,187,187,211,211,211,211,211,0,0,190,190,211,211 +db 211,211,211,211,211,211,211,211,211,211,190,190,211,211,211,211 +db 211,211,211,211,211,211,211,211,190,190,211,211,211,0,0,0 +db 0,0,190,190,211,211,211,190,190,211,211,211,0,0,0,0 +db 194,194,214,214,214,0,0,0,0,194,194,214,214,214,194,194 +db 214,214,214,0,0,0,0,0,0,0,0,0,194,194,214,214 +db 214,0,0,0,0,0,194,194,214,214,214,0,0,0,0,0 +db 0,0,0,0,195,195,214,214,214,0,0,0,0,195,195,214 +db 214,214,195,195,214,214,214,214,0,0,0,0,0,0,0,0 +db 195,195,214,214,214,0,0,0,0,0,195,195,214,214,214,0 +db 0,0,0,0,0,0,0,0,197,197,214,214,214,0,0,0 +db 0,197,197,214,214,214,0,197,197,214,214,214,0,0,0,0 +db 0,0,0,0,197,197,214,214,214,0,0,0,0,0,197,197 +db 214,214,214,0,0,0,0,0,0,0,0,0,202,202,215,215 +db 215,0,0,0,0,202,202,215,215,215,0,202,202,215,215,215 +db 215,0,0,0,0,0,0,0,202,202,215,215,215,0,0,0 +db 0,0,202,202,215,215,215,0,0,0,0,0,0,0,0,0 +db 203,203,216,216,216,0,0,0,0,203,203,216,216,216,0,0 +db 203,203,216,216,216,216,0,0,0,0,0,0,203,203,216,216 +db 216,216,0,0,0,0,203,203,216,216,216,0,0,0,0,0 +db 0,0,0,0,206,206,217,217,217,0,0,0,0,206,206,217 +db 217,217,0,0,206,206,217,217,217,217,217,217,0,0,0,0 +db 0,206,206,217,217,217,217,0,0,0,206,206,217,217,217,0 +db 0,0,0,0,0,0,0,0,210,210,217,217,217,0,0,0 +db 0,210,210,217,217,217,0,0,0,210,210,217,217,217,217,217 +db 217,217,217,217,0,210,210,217,217,217,217,217,217,217,210,210 +db 217,217,217,0,0,0,0,0,0,0,0,0,211,211,217,217 +db 217,0,0,0,0,211,211,217,217,217,0,0,0,0,0,211 +db 211,217,217,217,217,217,217,217,0,0,211,211,217,217,217,217 +db 217,217,211,211,217,217,217,0,0,0,0,0,0,0,0,0 +db 214,214,217,217,217,0,0,0,0,214,214,217,217,217,0,0 +db 0,0,0,0,0,214,214,217,217,217,217,217,0,0,0,0 +db 214,214,217,217,217,217,214,214,217,217,217,0,0,0,0,0 +db 0,0,0,0 diff --git a/HELP1.SPR b/HELP1.SPR new file mode 100644 index 0000000..fdce19e --- /dev/null +++ b/HELP1.SPR @@ -0,0 +1,70 @@ +dw 52,21 +db 160,160,160,160,160,0,0,0,0,160,160,160,160,160,0,0 +db 0,0,0,0,0,160,160,160,160,160,160,160,160,160,160,160 +db 160,0,0,0,0,0,0,0,0,0,160,160,160,160,160,160 +db 0,0,0,0,160,160,163,163,163,0,0,0,0,160,160,163 +db 163,163,0,0,0,0,0,160,160,163,163,163,163,163,163,163 +db 160,160,163,163,163,0,0,0,0,0,0,0,160,160,163,163 +db 163,163,163,163,163,163,0,0,160,160,165,165,165,0,0,0 +db 0,160,160,165,165,165,0,0,0,160,160,165,165,165,165,165 +db 165,165,165,165,160,160,165,165,165,0,0,0,0,0,0,160 +db 160,165,165,165,165,165,165,165,165,165,165,0,160,160,168,168 +db 168,0,0,0,0,160,160,168,168,168,0,0,160,160,168,168 +db 168,168,168,168,0,0,0,0,160,160,168,168,168,0,0,0 +db 0,0,0,160,160,168,168,168,168,160,160,168,168,168,168,0 +db 160,160,171,171,171,0,0,0,0,160,160,171,171,171,0,0 +db 160,160,171,171,171,171,0,0,0,0,0,0,160,160,171,171 +db 171,0,0,0,0,0,160,160,171,171,171,171,0,0,160,160 +db 171,171,171,171,160,160,174,174,174,0,0,0,0,160,160,174 +db 174,174,0,160,160,174,174,174,174,0,0,0,0,0,0,0 +db 160,160,174,174,174,0,0,0,0,0,160,160,174,174,174,0 +db 0,0,0,160,160,174,174,174,160,160,176,176,176,0,0,0 +db 0,160,160,176,176,176,0,160,160,176,176,176,0,0,0,0 +db 0,0,0,0,160,160,176,176,176,0,0,0,0,0,160,160 +db 176,176,176,0,0,0,0,160,160,176,176,176,160,160,179,179 +db 179,0,0,0,0,160,160,179,179,179,160,160,179,179,179,179 +db 0,0,0,0,0,0,0,0,160,160,179,179,179,0,0,0 +db 0,0,160,160,179,179,179,0,0,0,160,160,179,179,179,179 +db 160,160,182,182,182,0,0,0,0,160,160,182,182,182,160,160 +db 182,182,182,0,0,0,0,0,0,0,0,0,160,160,182,182 +db 182,0,0,0,0,0,160,160,182,182,182,0,0,160,160,182 +db 182,182,182,0,161,161,184,184,184,184,184,184,184,184,184,184 +db 184,184,161,161,184,184,184,184,184,184,184,184,184,184,184,184 +db 161,161,184,184,184,0,0,0,0,0,161,161,184,184,184,161 +db 161,184,184,184,184,184,184,0,161,161,187,187,187,187,187,187 +db 187,187,187,187,187,187,161,161,187,187,187,187,187,187,187,187 +db 187,187,187,187,161,161,187,187,187,0,0,0,0,0,161,161 +db 187,187,187,161,161,187,187,187,187,187,0,0,161,161,190,190 +db 190,190,190,190,190,190,190,190,190,190,161,161,190,190,190,190 +db 190,190,190,190,190,190,190,190,161,161,190,190,190,0,0,0 +db 0,0,161,161,190,190,190,161,161,190,190,190,0,0,0,0 +db 166,166,193,193,193,0,0,0,0,166,166,193,193,193,166,166 +db 193,193,193,0,0,0,0,0,0,0,0,0,166,166,193,193 +db 193,0,0,0,0,0,166,166,193,193,193,0,0,0,0,0 +db 0,0,0,0,166,166,195,195,195,0,0,0,0,166,166,195 +db 195,195,166,166,195,195,195,195,0,0,0,0,0,0,0,0 +db 166,166,195,195,195,0,0,0,0,0,166,166,195,195,195,0 +db 0,0,0,0,0,0,0,0,168,168,198,198,198,0,0,0 +db 0,168,168,198,198,198,0,168,168,198,198,198,0,0,0,0 +db 0,0,0,0,168,168,198,198,198,0,0,0,0,0,168,168 +db 198,198,198,0,0,0,0,0,0,0,0,0,168,168,201,201 +db 201,0,0,0,0,168,168,201,201,201,0,168,168,201,201,201 +db 201,0,0,0,0,0,0,0,168,168,201,201,201,0,0,0 +db 0,0,168,168,201,201,201,0,0,0,0,0,0,0,0,0 +db 169,169,203,203,203,0,0,0,0,169,169,203,203,203,0,0 +db 169,169,203,203,203,203,0,0,0,0,0,0,169,169,203,203 +db 203,203,0,0,0,0,169,169,203,203,203,0,0,0,0,0 +db 0,0,0,0,170,170,206,206,206,0,0,0,0,170,170,206 +db 206,206,0,0,170,170,206,206,206,206,206,206,0,0,0,0 +db 0,170,170,206,206,206,206,0,0,0,170,170,206,206,206,0 +db 0,0,0,0,0,0,0,0,182,182,209,209,209,0,0,0 +db 0,182,182,209,209,209,0,0,0,182,182,209,209,209,209,209 +db 209,209,209,209,0,182,182,209,209,209,209,209,209,209,182,182 +db 209,209,209,0,0,0,0,0,0,0,0,0,191,191,212,212 +db 212,0,0,0,0,191,191,212,212,212,0,0,0,0,0,191 +db 191,212,212,212,212,212,212,212,0,0,191,191,212,212,212,212 +db 212,212,191,191,212,212,212,0,0,0,0,0,0,0,0,0 +db 193,193,214,214,214,0,0,0,0,193,193,214,214,214,0,0 +db 0,0,0,0,0,193,193,214,214,214,214,214,0,0,0,0 +db 193,193,214,214,214,214,193,193,214,214,214,0,0,0,0,0 +db 0,0,0,0 diff --git a/HELPE.GRP b/HELPE.GRP new file mode 100644 index 0000000..01d171e Binary files /dev/null and b/HELPE.GRP differ diff --git a/HELPE.PCX b/HELPE.PCX new file mode 100644 index 0000000..9afb3b2 Binary files /dev/null and b/HELPE.PCX differ diff --git a/INSTALL.DAT b/INSTALL.DAT new file mode 100644 index 0000000..a914408 Binary files /dev/null and b/INSTALL.DAT differ diff --git a/IZ01.MRV b/IZ01.MRV new file mode 100644 index 0000000..4d61e95 --- /dev/null +++ b/IZ01.MRV @@ -0,0 +1 @@ +z}}y|}z{}w|yz~wy{y}||wv|q|wv~yuyx~}zxt}ypuw~rx}|{}w{}zuxxs}~{|}v|~~{qp~y{xvzu~t}}}|rzyzv{}wtws{w|tzywxwqy~~x|wys}upzs}}yt~vkbfrx|c}mvzy{~w}tpwn|lompvuuvtwtoznxqyl{|zmuryqut~wzpt}no|{w{x|yx}}zvqvsstx}}wy~}y}|}xwnv~yy{y~zysivprvrnnlkvwznptnzvz~~zjv}}z~zw~kzoshkyww~q~qxkymwy~zggrv{ptozmwqiezzjy|zug{{q}{|rskyyqy}ouwxlp~~j~wqy~wqonzj|vf}{{wkisz~p{|mm{njzx}wqryso}vvriys{qy|uuo{pyywv|}|x|pior}jt|u~o~~n{vyzmmyssxw|sw~usz{u~sosxssmht{v{}ytztim}}l|o}~zty|{ztjrvrx}txtyjngryxqy}~plvx|}kt{t|x|~rzww|zl}pvy~oy~{z|wyv|zwmu|o|m~y|xld|rwyt}wp~b|rw~wssvv{|tvly{{ds~puy|rt~|xwq}}nsshpkz|tu}xwl{uwkvirs{yuzzqpyxywsg||m}{}zn_m}~up~v~sy{ytqzs|m}|~|zyz~|c|zxr~txy|nu}wrzp~n}zwwtw{r~jrqt{|xy~|y~yrnv}tooo{xqxu}yzykptuw}s}z|jptsk|tl{tt{szqvzjv|zyjs|{sjss{iylw{n}p{{po~mtyox~z~|}{nn}wu{o}|y}{{}y{tzws~y~yl}{~z~vv|zrxpxp|zzzxx{uu~v~tw~wwxuyqy}xt{yz~r}{svxwzut{~xzuy||r|yts~~wt}~u}w~s}zqwt~|||mv~w~x}yxxs{r}w}{w~y~~{y|~{}qsw}wuwxo{xvrv}vqvl{v|xu~tw||~ztliyn}u~rwdovtpz|b|}{yws~wzt~{wzp{y{~~myv}w}v|y}wkxqr}~zywn{zwkmuxzs{tz~|v|xrvq|usyvk|wwvi}ziny~gls~n}sxvpkotmlvor|toqxqz|~qmzv~p~}w}uw~s~pu{zyzu|vyvtwyzrz}u~{uxvvygvy}zyt}sz~ywyus{ww}t~~x}w}tt~r}o~}t|ouvvp}{{~z~rquz~x{xs|t}tqwyrr~st{vzzxtuzs~qpplz}{xst|yw|yz{uu{{tw~{v}}txz{}z{}t~{{{zx||r}{wwvqzxrypvt}s{ux{}vtt}{zxuzyv}wur|}tw~v||zyy|~wr|z{zxu{zooryxzz|yyn{~|}w~}}|~tyxxz|x{~~t~vz|z~{yut|p{t|~s|rz|~z|py||~vv{}|}{wu}s{wpwyyq~}~y~}~o{{~}y~zy|w||rt}~}z~yu}z}yzvzv}}|{xzr~}}x}}}~qstw}zvwt|{rvxyw}x}vrw~|rtzu}zw}|svsr~}yp{~x}z|}}}ww~yx~}~{ssus}{xs~vs}{}{yyzw~w{xw{yttt|xzzz{{z~wx|~w|z~yu~zvssw{~~|yw|}}y~x|~~y||yw}||||~uu|zw~yy~y|v~{|zzy{x~~{t~tz{z|z}}xv~~t{}~pt~xy|xuv~~t{z{}v{}}}yzx|uy{twu}{{}~{uvsy{|zz~{~|}ytwv{y~~v}yx~{}y{y{yy}||z}w~uv}v}x}~x~v}wt}~|}x|z}}}~x|}{}{xwz~~}yzz~z~||}y~ux~~||||}|w~|zzz~u{~yy{~{~~~{x|~~{}x{|}y{||~z|~|x|~{zy}~~z}~z~yx~y}~~{}z~x{~|{|z}y~|}}~~~}z}{}~~{~{{~}~y}~{y||~~~v}|~||~}|~yw~~}{~y~|{}}{|x{{q{}~}{z~~|{~yy{~|~|}}|z{zyz~z~{z~~||}x}|y||~y~~{wz|{{~zv~z~{y~~z{|{~|}{x|}z{~~~|~~~w{yz|wzz~xv~}y{|zu|}y}zw|y}x{z~}|~~|}~~~y}|y|z{y}}y}yx~zx~|}}~~}~~~} \ No newline at end of file diff --git a/IZ02.MRV b/IZ02.MRV new file mode 100644 index 0000000..89b7a47 --- /dev/null +++ b/IZ02.MRV @@ -0,0 +1 @@ +woqj~j}tr}soyo|~~f}g{evfs}|iofozl|ctp{muu{}x~|qk~wzk|{fyyytwgt~uglsg~~jh{pm~}tgivgl}}iroz`kzwx`h~dfjtrr~qk~ywuvypzozkjh~pjvywg{}zhlfpwywypkowht|^zy}i}yvplonxz}wr}m\{|vv~z}k~xv{qtooulznt{c}hx~}qypwnzttuyt~~w|iioz}~~qq|togxssrzclw`~mqowsjs~kyo{~mzlehonhszo|zisyq~jfj|`twqzlpquo{etuw|ktt}jk~obs~rqpy}}~wvX[idqvbwkzlvttjpkdqsjzrzjl|jtk|{|kyzwy{mmvmv~czv~hw|}uf}ospop}oahk|yxw_{eszsdp~t~tqtj~sf~mfrduvvhmejagrq}~s{uuy~Sxwjuvq{xj}}`vp|}j|q}reqgwzy~c{nu|khsrlvprnhru~omvtoknyytz~kvyu~ylxnjqqmk{~bgvws{mnuc~vvzlm||{Zokvun{kyxouzz{jp{^j_ma{q{~~qwc|~rkj~ojxvs{lrrssq|l^yp{||p|wnxpj~mplxbtpalog`vvs{jhvra|ppruqwt|t_k~wvdfi||mnil|tuqbkz}klvpiutwv}glqx~|gqeyunhfukoyzurdt{rqyupyia}oo{}kkf}~uusxheowzngux}zy||x~s{gnzu{tt|kepfh}u|ru~zmzjjjnp{nsqittslxt~|r{~r|tyn{u|sjjwwkp|~zpm}wvout}yyq~npvonutsxz|u}|sxrr|tvvtvu}lz~{q}zoupyyl|~fnovzomwqxorvyv~kzfx}lw~}o{j}}trrt}urn|yvyxu}u{u~x{wzyrfytu~}wswns}ywr|jms~{wyout~n{uy~r~{nzkwyynszwz}y~yzl|xnsz~i|tzjyysylk|iz~q|zoz}~j~p{yyqcyxynvzv}sltr}jz|zvwzoexsvi|~|{l~nvnso{vr}vv}w{yxw}ymt|y{t|qzr|vitmx}uxu{xxvv~rztzsrozz{x|q~|r}wz|m~~|qu|{p|vwmx}qxs~xvxut{|~vtwuo}tzsptzssuu|nwynv|rwrx}ryzvnqhk{txyr{|nr{utywntvqy{vp|m~zzzyxiq}rzr~qurtvmqw~xv{wspswo|rpvzq}p}z|~wg~{|slyx}~uyzt~rytxutv~~~t~wv~s~xyvt~yz|yz~yzvssr}}|yy}{~xyv{}~wuz||~r}w|{x}z}~zw|tqsv}xpyxz{{pxy|vrqxm|~o{|uusyrzrr}x~{}z~ql}}ws~xzytp~}~t|}~~|}|x}vxrzysw}z{}wzwpt}qlzqx{{w}xrzzv|v~}}{}t{}}z}|}x~~y}zv{zz|t}v}}wxxyv}|z|xv}w{{vu~v~v|}x}}z~v|}~ry|~|}wt|ww}}~||~{}~}|||w~~}}~w~}||{{~~}|y~y}|}~|~{|~~~~{~~~y}{{~}~|~|~{y~}}z|}|~~|~}~|~~}~}~~~}~~}~|~~~~~~~ \ No newline at end of file diff --git a/IZ03.MRV b/IZ03.MRV new file mode 100644 index 0000000..a043179 --- /dev/null +++ b/IZ03.MRV @@ -0,0 +1 @@ +||||||||tlxLxtlHHlx|HXl|dpp|xt`|lxXlXpxh|XxtxTTxx|TXpxt\|ptxdxxpx|Xhhpxhxxptllp|px`txdd\pxl\ttxpht|`TtttPTpxTpTptd|\pt`XxttPTtpxP\xt|P|pl|Thdpt|dt||tXx<<Ĭ,4(0L`UWurhlvzjhggYhilx_tlys}v}}rp[qrsyqyxsf~pexq{~xufas{oyujjpvyudjv}}ZZoxjmqkys~zw}mqpuv{{z|xqhwU_^zwpruvtaNl}w}tss|xyotvncoq`aommgu{xj_uymRRty~qoaqwqs~rgybfephvy|Zem}fwwho}}~nnnzcT5Mgn{Un^}XRKbWepxghswffVTVbc|}mokyv|gll{{xZE8DTt~~kumfN?Gbp}~yykiq|ubN^p|{~cSW|bSPa|}rugm\\o}vlqsx}svo_Ggflz~qwordUYhnrk~wwkluxzqfxǹ[\H@7Ylvgvfw_{`_Mx_jqYDŹy|s|vyh]JL[~w|oRMcwnszxpedafpnskbh{svoXo}_viurhUSahpxftfXTgjus~xeunrv|tkpYXrtxzYXZx|v{|[`wZ`jiZzs_bhn~qWgmsiwzytSTp~wuq{nr}x|sDBWgp\f^nqԾimmhlocv{piXsw|wlqgiFY|^[mS>8Fetxpfmbs}PQLseekj[lomlvxQOC@Zagu[ekyo~vn{tdghUX{nzta]go}~vKr~u{zitug]Zbmuvezxwpwo{joX[`Ob|~fuibdmxkkqzuɕyu}ytvx{l}zoy[[tvy{vsmzlzs{dyzruhYlp_}Yn|ipOroeuaaublqf|yj[fozzjpvrVepeovzU]Jaohuhmo\ryY}lveo|nwgZZ``ȥyJtyfihfnjvq}glsƼ[\<2=_o{t\WZnpnxu~`Cuv|kwgkt_dl|`kx|`arV{X~b~xrul}dQbqebvzxM]b}yt|wee~j^bcntk|uvestpPhpx|diz\y]qurkxvxps^zqzbaogfpyvxyqtpTZvn{q~qzfslff|hlUc|fevypzwo~pT^UAOSWu`|pxS~whm|tz`zs|tkpqzc8abeSKaos|m~}tbeypLRgestxx֌lxkNO|mm~{X]jZqosmQ9rǯn]^uYznjkt_sks{sn`Wz}|zNR~LIgo]Y^YUqkqiQUq|rv}wpd{|D^_udll|qahtJ_}Kary}al}ssweebswx]^aDDLguvRSr[?{qupkZjyŕkrKU5pZbl\H<;Byarc_toPy`lwwzxkx}gylo{niWSz=bŢS_TssMkL?~qM}^sf-Sk@idr^E#T;oxjZ[op-2<vcjxM.bn@qkpzswP_ڳk-uƭzIzѭW[ǟqNYwF*A^6W~xp]=]~lvnylmR_hošY8zzzJHFYVnpzfWBWj8T|_EIv~cw{NYd}yLh˯ndbll{oQw~gSul{}uDCDǮTRb{~~y]Jf|r\Mb}ajy}||jz{pnmwtk||tx{puYmycIq{~zsX`{m||s|t~SZprty^cxZD^ֺvL^^¨_PgjnveOo95ucmeSvivV]z~n`s{otgft~nsrszduysjZ[rYk~wox;Hzm{nv?@h[gs]imYVri|p_duwzyw\mulstli|wxhmssqLVHczfUwmklxgiwqyfjzy}fUcoMM}m]wlwstuv^ruz}qni]kmgl]>s[Nud;pJirupci{s}cbh|ihZ|Po{O\hzruo~sŷlpvfcp{kWTQwmZ}vmireVundy~hYreVvwrji]Mok]qͮ}`j^[kllQ5Lzdn_U|}IEXzngY{pfykpx|t}vjr|hX}{TWw`ctjxcHx{=QhclkxX@tvw~rtjTpmUXhlwQ8tͼuYYcl{nynkn|jqz~x?DVhPSMivav|jZ~obgU~qZZpusw|psyz}os}ih{kQepeyhDT{v|}rfn]gwqqxq[nqcɼ|q|tu[HDthRlBXwthoyvk|p^`dvwqtr{riY_vÀxmB=mvx_exxzn]jrD[ytegs~vnusxlupuw`~l`_d}|}s}|kqr^IXtlso^_ey~skikpeslkk|}}|r?Lkd|sl|oV[jwrdkk`h~fn{cczklb_^p{r_Kwzu|o_RXs~uy,;uˡWpumsyr}mfi{mdvoqstmmtm`a{veit`kyofz~qgrwCMǹ~ybJNv|}j\sxluxkwmSV|yknv_|]ivn[lwo\[V=tlthkszfGYk}a`kak|`f|z~`dwxjowpv__eU]|}C>X|yo|i]cxjmzxeekw]Z{{lv}y[ZXn~xjl|veq|v|u^\vogea^|qq}wgoxpszg\TVh~wdguvwry}yk`oyytl|^\`uvej|zvxycLKHExJAUQMm}FIXŢbk][PW|tyhRWoyeîcVW_^gk[DCQkkw|}ncpwsW^|sfkrtzjSLKRXbs|qz|tz|}~rligh}tox~}hau~|}stwU\ta^htl|hq}~ynmxwiphvz~}rh^dnxdLHm̬jtWrykyx`RU[dsqm{~m]qs_izork`i}zztw{|lty}rv^Ni{opmoxfjRRybahoysept^Zb}efp|kZZh{v~~z|vxxbWcddoouYWeouzqrs}ujaiqfct~qgxwktxdyvy|zdQclZXglbryndw|nsytnx{p[d{xhn~vq{~jmv|x|n^Odwm^qs^skkutm{ui^\]gkmqtixy}{k`cc_]dncw|m__rygfoxqpquzηvcgm_˵qsFJbtmusjbWRTauVWcz~ogh||xzqTWi~gfi}wms}~{od`fnomu|meheej}oWU]b_rzjOZl|~ruogj~ny`=Hi~`k~wkcwxyjXq~agrxrj}jinyrtlbefgE@Oqmkmpxykjzx|x|xxw|u_cx{el|ndzqhr{FA]`MMǯ|}xk^it}}rcizxozqikw`hwxi|rcisvqjjor`]`sdRUgv{|xXY`twnry|qu|v{xrq}pjlrxxy~{{v{ecpv\_h{~k`]}zqwnpw}|~|qfZdrsomtyt~wnabnuvnuqikqblvvnet}{x\JAQ\acrçi]Xgnj^]|tpv}h]kyz|yjbaab{~uu~ndVr~twzokinmr}npx|z~xohoz|}skST]xrzkntsmbit}pkw|}{}uljffdbeveZMW_x~khu|vl[[dky}kY]rji}m[_zy|fj|~z|xxtmd\[_s|~rstomjpy|}ztsy~wz~}xqppw~xqr{~pd`nv~nedTPk}qfhYZuqnlllogdblzuoplbhu~~xz|{~vlsrebecaxqc_^i~raUZd}ldagqvqqgjryfehqxmZ]djw|nSMX{g\FN`nkjno|iacpswqkklqzh]`fviWPZg}~pnmsx~wnowpj`Z`szVHGISno`Rbuǰqgbktvk\Y`ksj\\]aqycW]l}~scfkwmnnnvrlmyy}~qrstx|qcevdcdly}mmrw{zmf[^bnsz{}wqvuP>AVdxnos|zpjit{~uollpmkl{ngimsǼx^Zn|^RJPTk{tjlnt|~xoqzng\byr]]`il{yvrx~xwtponsx|}{rkjnow{yvv{{w{}qfVUdr{vjaORl}olnnt}xurv}{xxu{vqwlegrzq_SRZv{eWUVbwc_bo|wldgk~}jbagoyqqtu{rux}recjqynptx~{xwvuwxxvwvuw{{}xunllyy_RMUbyj[cp|unu}y`[]jp}r]VVV\lvxoqtwy}|ytlp{tcenpqnrsxefnd`fsg]LNWxvYXktwlikv|}upjty{rquyoa_cnue]]bs|zvztg^cjz}wqmkpw~yrijs||mq}jggrx{rlijn}rlq~|tb^]io}skpy~l^Z[d~qhcfk|wpkghqwz{u]Z\cmxkcer|tux{vxtwdaUYcv}~~xn]\]]cx|z{zob^\[asy{{yuuwwtrw|wpi\^blt~{usolmmlnlijjkprx}~~{xx{|~wtrkhlqwmdaY_jqu~}yvz}|z{|~}}~vrquz|tkm|~uoqstvwxz~{vx{{yz~|x}~{wonqswwtngc`dou}wsnkkquw{{xwvz~{~~unfbcks{upq~zupjjjkjigefiknrz{yxwwy~}yxuqomlntv{~|~{}|ppqx~}rkios}pjku{|vpiktz}xtpqy~~xustuy|}}{{|}wtvy~}skaYY_ekuxyyx{wrquw{~}~~|}rliZ^bfimlkghov~wssuy~{vonmkkfdgloxz{|zwx{}{srkhgccedglosz}}{{}xwvvw{}~||}~~|wtsnlnnrx{}{wsoonvx{|zz}~|z}}xuljjknvz{wljifffgjlr|||}~yrlfedilouwz||soihgeb^_^bgjstusrsv}{wvuuy}}vvrld[VNJLLW]glpy~~{ussstvwxxxxyz}}~~zzyxxsrqprvwxyyz|~|xqllllmmnmmsx}~z{xxyzz|z{yy{}{ywwwvuuuvy{}~|}~}{|z{y{|}}}xwwtsssvx||vrqprqppmmorux{|xpokllmllsw~|wtsopow|}zrrmjjjqs}}{xwvy|{snlgecdfjnswz~|}yvtsuuwxyz}{xwwutsssuyz{{{{|~{vrpnmjjkllnpqsuwxyzzz{|~~|zwsqprsrrqpstyuqliihhhjinoqvw{}}}}}{xwwwvutvxy{}~||}yvnllghijoux|{xxsssttvx|~}{yxxxyz}zzvvuuuuuwxxyyyyyz{{|}}~||}}}xwtsssttwxz~}~|||}{{{{|}}}{xxwvvttttttssttwz{}{xtrppopquvx|}zwnkda`ZXWWX[]adhpsw~xuonlggdeefhmqu~ytoonlmopqtuwwwwxyzz|}~}}{|zyyzz{}~}{ywvutsrrrssuvw{|}{vutqqoprtvz|}~}|}|z{xwusrpnkkjihhhhklnpsy}}{xxxxxy{{}}~|yuqnlkkjijklloqrvwy|~~}~|{yxxxyz{|~||zz{~~~~ \ No newline at end of file diff --git a/IZBEAM1.MRV b/IZBEAM1.MRV new file mode 100644 index 0000000..cb254fd --- /dev/null +++ b/IZBEAM1.MRV @@ -0,0 +1 @@ +zzzzzzzzzzzzz{}}zzz{{wwwxyy||~{{xwwwwwxxxwwvttxx|yrrlgggghnnwttibb^ddnn{qqheehhkrr}~~wrrppuuuu{{xxwrrnoott{wkkcaaeen}}zzsmmqqsrrnssvvwxxxxs{{wllgeehhq}}tjjeehllt||xxttmcciyywttnnrzznnn|qqqqefftwwppddeaagzz}}bbeootpp||lssy``x{{xxleeioo`hhssdwwxxee}nnl}}ttookczz}pplln}}eii{{zzuuxjjxrrVVtnnwwnndtt}tqqwwo\rrwppzaabYYyybbajjeezz^ttsi\iimmqqhjqqwwsvvx~~vyytttwwy||z{{xxpmmqttzz}}}}}tjjqwwxvvxzz{{ollwy{rrpplsszxppqrruutttwwaggnnz}}}}vxxeeett|~~keegppppddjeedss}}wwe__emm}iiccleef{{ueejjZaakppppQQNKKczzaa_aaWbb{{`KKWnnqq[MM^XXllI88AAPrr`OONNauuww__KIIYrrhhRKKgySSttzttSSAaaywwjTT\ddmmemmx\\QQGLL]ttzzzee[ccpp_[[jsseMM4>>ggpzzzSS>>@NNTppxttq\\00@SSYppeLL=3333S{xxyyg\\YQQ@@QllttZZC::FVVff}lldaajjzwwee\WW\lli``addeegeenzzr{{zzzzn]][TTZZkyyzzccWTTU]]oox~~}}yyrlllggeejlls{{}}}vmmgggggmuuzzwwrrrtt|wwheeeeessl__VVU\\nooeedddlzzwgg^^\ddw~jj__d__mjj\\YUUTdd||tmmnppnnoww}xxttrnnoyyuuoolee`lluii_QQNN]nnwzzojjmnnnnrxxy~wwnnc]]_aahhypee___eemvvzznbb\]]bbkww}}ooe^^]ccllwwmmdd]]]dnnwwxxj``[[\ddt||rmmgbb__dnnwxoogbbaaenny}wwrropptttpppppprrvvz~~}xxqqliiknnqqvyy~xxtssssssssrrrrtuuuwwzz}}wrrqrrssvxx{}}zztoonrrwwz}}~~zzurrqrrwwz|||xxvvrqqrww{{xxspppuuzz}||xttoojjjnsszz~~riignnwwxxpjjgjjrr{wnnjllqqzuiideejjrxx~zztppppuzzzztnnjjillqwwzz||||zzyyyzz|}}}}{zzxwwvvtrropprrwzz|zzwwtuux{{}}}zzwuuuuwxx{{{yywuurrrrrssstuuxxz~~}}{zzxwwwwvttrttwwxzzzyywwvttsttuuwzzzzzzzxwwwwwwwwwwxxxxxxwwwwwwwwxxxxxxxxxxwwwwwwwwwxxxxxxxwwwwwwwwwwwxxxxxxwwwwwwwwwwwwwxxxxxxxxxxwwwwwwxxxxxxxxwwwwwwwwwwwwwwwxxxxxxwwwwwwwwwwwwwxwwwwwwwwwwwwwxxxxxxxxwwwwwwwwwwwxxxxxxxwwwwwwwwwwwwwxxxxwwwwwwwwwwwwwxxxxxwwwwwwwwwwxxxxxxxxxxxwwwwwwwwwxxwwxxxwwwwwwww~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \ No newline at end of file diff --git a/IZBOMB2.MRV b/IZBOMB2.MRV new file mode 100644 index 0000000..9673e79 --- /dev/null +++ b/IZBOMB2.MRV @@ -0,0 +1 @@ +z{vv|vhXU[blutjm{|uvnnljjeejww{xwwmmehhLJJJJSVVW__ssxri`_defjpww~{yuvwwx~}yrmnpnkkpuvxyvusnhhowxx}{{zw{~wwvllnnnwwwpx{{tzz}|ww}~wsuuurvuw{}yrrroswyy}~~wwuunjkttfk{vnvzzpacuxkdnxyvnc_egd`]XQXciknpurmnqqw}www~```ssre]hhkiiWWjobb{{eggSSSddfgg~~seezujqzy`Zeorsspmnowxi|eespllnpu~~wwwbb}}mXXARRWWJGGB?>==AEEAA@<< + object <101, 0, 0, 0,,,,,,, 0, 800, 0, 2, 0, 0, offset beam_spr_data2, offset beam_course, 0, 1,0,0> + object <102, 0, 0, 0,,,,,,, 0, 800, 0, 3, 0, 64, offset gcl_spr_data, offset gcl_course, 0, 0,0,0> + object <103, 0, 0, 0,,,,,,, 0, 700, 0, 2, 0, 64, offset valk_spr_data, offset valk_course, 0, 0,0,0> + object <104, 0, 0, 0,,,,,,, 0, 800, 0, 4, 0, 64, offset bigf_spr_data, offset bigf_course, 0, 1,0,0> + +flm_type object <200, 0, 0, 0,,,,,,, 0, 2500, 0, 0, 0, 128, offset flm_spr_data, 0, 0, 1, 0, 0> + object <201, 0, 0, 0,,,,,,, 0, 2500, 0, 0, 0, 128, offset flm_spr_data2, 0, 0, 1, 0, 0> + object <202, 0, 0, 0,,,,,,, 0, 2500, 0, 0, 0, 128, offset flm_spr_data3, 0, 0, 1, 0, 0> + +bullet_type object <300, 0, 0, 0,,,,,,, 0, 1000, 0, 1, 0, 64, offset bullet_spr_data1, 0, 0, 1,0,0> + object <301, 0, 0, 0,,,,,,, 0, 1000, 0, 2, 0, 64, offset bullet_spr_data2, 0, 0, 1,0,0> + +ship object <400, 0, -400, 150,,,,,,, 0, 2500, 0, 2, 0, 128, offset ship_spr_data, offset ship_course, 0, 1, 0, 0> + +item_type object <500, 0, 0, 0,,,,,,, 0, 2500, 0, 1, 0, 64, offset item_spr_data1, offset item_course, 0, 0, 0, 0> + object <501, 0, 0, 0,,,,,,, 0, 2500, 0, 1, 0, 64, offset item_spr_data2, offset item_course, 0, 0, 0, 0> + object <502, 0, 0, 0,,,,,,, 0, 2500, 0, 1, 0, 64, offset item_spr_data4, offset item_course, 0, 0, 0, 0> + object <503, 0, 0, 0,,,,,,, 0, 2500, 0, 1, 0, 64, offset item_spr_data3, offset item_course, 0, 0, 0, 0> + object <504, 0, 0, 0,,,,,,, 0, 2500, 0, 1, 0, 64, offset item_spr_data5, offset item_course, 0, 0, 0, 0> + object <505, 0, 0, 0,,,,,,, 0, 2500, 0, 1, 0, 64, offset item_spr_data6, offset item_course, 0, 0, 0, 0> + object <506, 0, 0, 0,,,,,,, 0, 2500, 0, 1, 0, 64, offset ien_spr_data, offset item_course, 0, 0, 0, 0> + object <507, 0, 0, 0,,,,,,, 0, 2500, 0, 1, 0, 64, offset isld_spr_data, offset item_course, 0, 0, 0, 0> + +beam_course label word + dw 202,1+256, 202,3+256, 202,4+256, 202,5+256, 202,6+256 + dw _GOTO + dd beam_course + +valk_course label word + dw 0,0,0,50, 1,5,5,50, 2,10,10,50, 3,5,5,50 + dw 0,0,0,50, 1,-5,-5,50, 2,-10,-10,50, 3,-5,-5,50 + dw _GOTO + dd valk_course + +gcl_course label word + dw 0,0,0,45, 1,0,5,40, 2,0,10,35, 1,0,15,30 +ddown: dw 2,0,20,20 + dw 231,0 + dd ddown, conti2, conti1 +conti1: dw 203,0 ; Y set 0 +conti2: dw 1,0,0,30 + dw 202,3, 202,4, 202,5, 202,6, 202,7, 202,8 + dw 3,0,0,45, 202,4, 202,5, 202,6, 202,7, 202,8 + dw 3,0,0,45, 202,4, 202,5, 202,6, 202,7, 202,8 + dw 3,0,0,45, 202,4, 202,5, 202,6, 202,7, 202,8 + dw 3,0,0,45, 202,4, 202,5, 202,6, 202,7, 202,8 + dw 3,0,0,45, 202,4, 202,5, 202,6, 202,7, 202,8 + dw 3,0,0,45, 202,4, 202,5, 202,6, 202,7, 202,8, -1 + +bigf_course label word + dw 0,0,0,50 + dw 202,1, 202,2, 202,3, 202,4 + dw 232,500 + dd bigf_course,bigf_course,bloom +bloom: + dw 202,5, 202,6, 202,7, 202,8, 202,9, 202,10 + dw 202,11, 202,12, 202,13, 202,14, 202,15, 202,16, -1 + +ship_course label word + dw 0,0,0,60 + dw 0,0,0,60 + dw 200,6 + dw 0,0,0,60 + dw 0,0,0,60 + dw 0,0,0,60 + dw 1,0,5,60 + dw 1,0,5,60 + dw 1,0,10,60 + dw 1,0,10,60 + dw 1,0,10,60 + dw 2,0,10,60 +rept: + dw 2,0,0,60 + dw 232,1200 + dd rept,itemgo,itemgo +itemgo: + dw 2,0,0,60 + dw 206,6 + dw 2,0,0,60 + dw 2,0,0,60 + dw 2,0,0,60 + dw 206,7 + dw 2,0,0,60 + dw 2,0,0,60 + dw 2,0,0,60, -1 + +item_course label word + dw 0,0,15,0 + dw 202,1, 202,2 + dw 231,0 + dd item_course,icont2,icont1 +icont1: dw 203,0 + +icont2: dw 0,0,0,0, 202,1, 202,2 + dw _GOTO + dd icont2 +;----------------------------------------------------------------------- + + +;-------------------------------------------------------------------- +align 4 + +hline dd hline1 +hlrtno dd 0 +hline_routine dd hline1, hline2, hline3 + +iix dw 40 +iiy dw 40 + +CourseRoutine label dword + dd cos200, cos201, cos202, cos203, cos204, cos205, cos206, cos207, cos208, cos209 + dd cos210, cos211, cos212, cos213, cos214, cos215, cos216, cos217, cos218, cos219 + dd cos220, cos221, cos222, cos223, cos224, cos225, cos226, cos227, cos228, cos229 + dd cos230, cos231, cos232, cos233, cos234, cos235, cos236, cos237, cos238, cos239 + +item_routine label dword + dd item505, item506, item507 + +_DATA ends + + +;----------------------------------------------------------------------- +_BSS segment dword public use32 'BSS' + +public pcx_buffer0 +public _vptr +public _l +public keyboard + +_vptr dd 0,0,0,0,0,0,0,0,0,0,0,0,0 +_l dw 0,0,0,0,0,0,0,0,0,0,0,0,0 + +Jxmask db ? ; joystick mask +Jymask db ? +Jbtn1 db ? +Jbtn2 db ? + +JLTH dw ? ; joystick theres +JRTH dw ? +JUTH dw ? +JDTH dw ? + +Pal label byte + db 768 dup(?) + +Paltmp label byte + db 768 dup(?) + +Paltmp2 label byte + db 768 dup(?) + +Tstart dw ?, ? ;clock ticks of start time +Tend dw ?, ? ;clock ticks of end time +frames dd ? ; +fps db ?, ? ;frames per second + +esc_on db ? +pass_ok db ? +player_no db ? + +align 4 +VertRetrace dd ? +DelayTime dd ? +stage_no dd ? ; +stage_flag dd ? ;DEAD + +StartOffset dd ? ;visual page +PageOffset dd ? ;active page + +tangent dd 200 dup(?) + +int09seg dw ? +int09off dd ? + +key_hit db ? +keyboard db 128 dup (?) +key_edge db 128 dup (?) + +config cfgstru < > + +;-------------------------------------------------------------- +align 4 +obj_ptr dd OBJNO dup(?) + +; 64 offset + +obj_table label +beam object < > + object < > + object < > + object < > + object < > + object < > + object < > + object < > + object < > + object < > + +enemy object < > + object < > + object < > + object < > + object < > + object < > + object < > + object < > + object < > + object < > + object < > + object < > + object < > + object < > + object < > + object < > + object < > + object < > + object < > + object < > + +blt object < > + object < > + object < > + object < > + object < > + +flm object < > + object < > + object < > + object < > + object < > + +SqrTable dd 10000 dup(?) + +sqr1 dd ? +sqr2 dd ? +sqr3 dd ? +aimx dd ? +aimy dd ? +aimz dd ? + +seed dd ? + +_blx dw ? +_bly dw ? + +_flmx dw ? +_flmy dw ? + +TEXTBL label dword + dd 23 dup(?) +TEXMAP label dword + dd 16*128 dup(?) +TEX1 label byte +SKY label byte + db TEXMAPLEN - ((16*128)+23)*4 dup (?) + +ENMAP label dword + db ENMAPLEN dup(?) +ENMAPOFF dd ENMAPLEN +OldENMAP dd ? + +OBJ_DATA label +enemy_type label word + db OBJDATLEN dup(?) + +back_spr_data label + db BACKDATLEN dup(?) + +pcx_buffer0: + db 65536 dup(?) + +pcx_buffer1: + dw ?,? + db 65536 dup(?) + +_BSS ends + +;----------------------------------------------------------- +;----------------------------------------------------------- +; Code segment +; +;----------------------------------------------------------- +_TEXT segment use32 dword public 'CODE' + assume cs:_TEXT,ds:DGROUP,es:DGROUP + +public xmode + +extrn sayPCM_ :near +extrn SBLAutoDetect_ :near +extrn initVoice_ :near +extrn setSampleRate_ :near +extrn waitmSec_ :near + +extrn SET_SYX :near +extrn STAGE_MUSIC :near +extrn MENU_MUSIC :near +extrn OVER_MUSIC :near +extrn END_MUSIC :near +extrn OPENING :near +extrn PLAY_MUSIC :near +extrn STOP_MUSIC :near +extrn SETTIME :near +extrn INTTIME :near +extrn INTERVIZ :near + +;------------------------------------------ +; esi : filemame +; edi : pointer +; ecx : file length +;------------------------------------------ +load_file proc + + mov ah,3dh ; open file + mov al,0 ; read only + mov edx,esi + int 21h + jc @@error + + mov bx,ax ; file handle + mov ah,3fh + mov edx,edi + int 21h + jc @@error + + mov ah,3eh ; close + int 21h + + ret + +@@error: + mov ah,09h + mov edx,offset message01 ; "file loading error.." + int 21h + + ret + +load_file endp + +;------------------------------------------ +; load map +;------------------------------------------ +load_map proc + + mov esi,stage_no + imul esi,20 + +;PAL-------------- + mov ah,3dh ; open file + mov al,0 ; read only + mov edx,file_name[esi + 12] ; palette + int 21h + jc @@error + + mov bx,ax ; file handle + mov ah,3fh + mov ecx,768 + mov edx,offset Pal ; read file + int 21h + jc @@error + + mov ah,3eh ; close + int 21h + + +;ENMAP-------------- + mov ah,3dh ; open file + mov al,0 ; read only + mov edx,file_name[esi + 4] + int 21h + jc @@error + + mov bx,ax ; file handle + mov ah,3fh + mov ecx,ENMAPLEN + mov edx,offset ENMAP ; read file + int 21h + jc @@error + + mov ah,3eh ; close + int 21h + +;; cmp stage_no,2 ; password chk +;; jl @@skipchk +;; cmp pass_ok,1 +;; jne @@error +@@skipchk: + +;OBJ---------- + mov ah,3dh ; open file + mov al,0 ; read only + mov edx,file_name[esi + 8] + int 21h + jc @@error + + mov bx,ax ; file handle + mov ah,3fh + mov ecx,OBJDATLEN + mov edx,offset OBJ_DATA ; read file + int 21h + jc @@error + + mov ah,3eh ; close + int 21h + +;BACK---------- + mov ah,3dh ; open file + mov al,0 ; read only + mov edx,file_name[esi + 16] + int 21h + jc @@error + + mov bx,ax ; file handle + mov ah,3fh + mov ecx,BACKDATLEN + mov edx,offset back_spr_data ; read file + int 21h + jc @@error + + mov ah,3eh ; close + int 21h + +;TEXMAP--------- + mov ah,3dh ; open file + mov al,0 ; read only + mov edx,file_name[esi] + int 21h + jc @@error + + mov bx,ax ; file handle + mov ah,3fh + mov ecx,TEXMAPLEN + mov edx,offset TEXTBL ; read file + int 21h + jc @@error + + mov ah,3eh ; close + int 21h + +; texture map table init. + mov ebx,offset TEXTBL + mov edi,offset TEXTBL + mov ecx,23 +@@next1: + add dword ptr[edi],ebx + add edi,4 + loop @@next1 + + mov ebx,offset TEXTBL + mov edi,offset TEXMAP + mov ecx,16*128 +@@next2: + mov edx,dword ptr[edi] + mov eax,dword ptr[ebx][edx*4] + mov dword ptr[edi],eax + add edi,4 + loop @@next2 + + mov esi,offset SYSPAL + mov edi,offset Pal + mov ecx,76*3 + rep movsb + +@@error: + ret + +load_map endp + +;------------------------------------------ +; +;------------------------------------------ +load_cfg proc + + mov ah,3dh ; open file + mov al,0 ; read only + mov edx,OFFSET file_name00 ; "izmir.cfg" + int 21h + jc @@error + + mov bx,ax ; file handle + mov ah,3fh + mov ecx,4 + mov edx,offset gammano ; read file + int 21h + jc @@error + + mov ah,3fh + mov ecx,4 + mov edx,offset DelayTime ; read file + int 21h + jc @@error + + mov ah,3eh ; close + int 21h + ;------------------ + mov ah,3dh ; open file + mov al,0 ; read only + mov edx,OFFSET file_name01 ; "config.dat" + int 21h + jc @@error + + mov bx,ax ; file handle + mov ah,3fh + mov ecx,27 ; 27 bytes + mov edx,offset config ; read file + int 21h + jc @@error + + mov ah,3eh ; close + int 21h +@@error: + ret + +load_cfg endp + +;------------------------------------------ +; save izmir.cfg file +;------------------------------------------ +save_cfg proc + +@@open: + mov ah,3dh ; open file + mov al,1 ; write only + mov edx,OFFSET file_name00 + int 21h + jc @@openerror + + mov bx,ax ; file handle + mov ah,40h + mov ecx,4 + mov edx,offset gammano ; write file + int 21h + jc @@writeerror + + mov ah,40h + mov ecx,4 + mov edx,offset DelayTime ; write file + int 21h + jc @@writeerror + jmp @@out + +@@openerror: + mov ah,3ch ; create file + mov cx,0 ; write only + mov edx,OFFSET file_name00 + int 21h + jc @@out + + jmp @@open +@@writeerror: +@@out: + mov ah,3eh ; close + int 21h + + ret + +save_cfg endp + +;------------------------------------- +; esi : file name ( no header ) +;------------------------------------- +load_put_PCX proc + +loading: + mov edi,offset pcx_buffer0 + mov ecx,64000 + call load_file +encoding: + mov esi,offset pcx_buffer0 + add esi,128;;;;;;;;;;;;;;;;;;;;;;;;; skip PCX header + mov edi,4 +@@next: + mov al,[esi] + cmp al,0C0h + jbe @@norpt + and al,3Fh + movzx cx,al + movzx ecx,cx + inc esi + mov al,[esi] +@@rpt: + mov byte ptr pcx_buffer1[edi],al + inc edi + loop @@rpt + jmp @@chk +@@norpt: + mov byte ptr pcx_buffer1[edi],al + inc edi +@@chk: + inc esi + cmp edi,64004 + jb @@next +;;;------- + mov edi,offset Pal + mov ecx,768 + inc esi +@@nextp: + mov al,[esi] + shr al,2 + mov [edi],al + inc esi + inc edi + loop @@nextp +;;;------------ + mov esi,offset Pal + call set_palette + + mov ebx,gammano + sub ebx,1 + jc @@skipg + mov edx,GAMMA[ebx * 4] + call gamma_correction + jmp SHORT putPCX +@@skipg: + call init_palette +putPCX: + mov word ptr [pcx_buffer1],320 + mov word ptr [pcx_buffer1+2],200 + mov esi,offset pcx_buffer1 + mov eax,0 + mov edx,0 + call put_spr + + ret + +load_put_PCX endp + +;------------------------------------- +; esi : file name ( no header ) +;------------------------------------- +load_put_SPR proc + +;loading: + mov edi,offset pcx_buffer0 + mov ecx,64000 + call load_file +;encoding: + mov esi,offset pcx_buffer0 + add esi,128;;;;;;;;;;;;;;;;;;;;;;;;; skip PCX head + mov edi,4 ;;;;;;;;;;;;;;;;;;;;;;;;; +@@next: + mov al,[esi] + cmp al,0C0h + jbe @@norpt + and al,3Fh + movzx cx,al + movzx ecx,cx + inc esi + mov al,[esi] +@@rpt: + mov byte ptr pcx_buffer1[edi],al + inc edi + loop @@rpt + jmp @@chk +@@norpt: + mov byte ptr pcx_buffer1[edi],al + inc edi +@@chk: + inc esi + cmp edi,64004 + jb @@next +;;;------- + mov edi,offset Pal + mov ecx,768 + inc esi +@@nextp: + mov al,[esi] + shr al,2 + mov [edi],al + inc esi + inc edi + loop @@nextp +;;;------------ +putSPR: + mov esi,offset pcx_buffer1 + add esi,4 + mov edi,offset start1 + add edi,4 + + mov ecx,24 +@@nextl1: + push ecx + mov ecx,88 +@@nextb1: + mov al,byte ptr[esi] + mov byte ptr[edi],al + inc esi + inc edi + loop @@nextb1 + add esi,320 - 88 + + pop ecx + loop @@nextl1 +;;;; + mov esi,offset pcx_buffer1 + add esi,4 + 88 + mov edi,offset start0 + add edi,4 + + mov ecx,24 +@@nextl11: + push ecx + mov ecx,88 +@@nextb11: + mov al,byte ptr[esi] + mov byte ptr[edi],al + inc esi + inc edi + loop @@nextb11 + add esi,320 - 88 + + pop ecx + loop @@nextl11 +;----------------------------------------- + mov esi,offset pcx_buffer1 + add esi,4 + 24*320 + mov edi,offset help1 + add edi,4 + + mov ecx,24 +@@nextl2: + push ecx + mov ecx,88 +@@nextb2: + mov al,byte ptr[esi] + mov byte ptr[edi],al + inc esi + inc edi + loop @@nextb2 + add esi,320 - 88 + + pop ecx + loop @@nextl2 +;;;; + mov esi,offset pcx_buffer1 + add esi,4 + 24*320 + 88 + mov edi,offset help0 + add edi,4 + + mov ecx,24 +@@nextl22: + push ecx + mov ecx,88 +@@nextb22: + mov al,byte ptr[esi] + mov byte ptr[edi],al + inc esi + inc edi + loop @@nextb22 + add esi,320 - 88 + + pop ecx + loop @@nextl22 +;-------------------------------------------- + mov esi,offset pcx_buffer1 + add esi,4 + 2*(24*320) + mov edi,offset quit1 + add edi,4 + + mov ecx,24 +@@nextl3: + push ecx + mov ecx,88 +@@nextb3: + mov al,byte ptr[esi] + mov byte ptr[edi],al + inc esi + inc edi + loop @@nextb3 + add esi,320 - 88 + + pop ecx + loop @@nextl3 +;;;; + mov esi,offset pcx_buffer1 + add esi,4 + 2*(24*320) + 88 + mov edi,offset quit0 + add edi,4 + + mov ecx,24 +@@nextl33: + push ecx + mov ecx,88 +@@nextb33: + mov al,byte ptr[esi] + mov byte ptr[edi],al + inc esi + inc edi + loop @@nextb33 + add esi,320 - 88 + + pop ecx + loop @@nextl33 + + ret + +load_put_SPR endp + +;-------------------------------------- +; ax: random number range ( 0 ... N-1 ) +;-------------------------------------- +rand proc + + push edx + push ebx + + mov bx,ax + + mov eax,1107030247 + mul seed + add eax,97177 + mov seed,eax + shr eax,15 + xor dx,dx + div bx + mov ax,dx + + pop ebx + pop edx + + ret + +rand endp + +;--------------------------- +; set palette registers +; esi : palette offset +;--------------------------- +set_palette proc near + +; lea esi,Pal ; Pal : palette data + mov al,0 ; + mov dx,3c8h ; I/O port of palette reg + out dx,al ; 0 - 255 + mov dx,3c9h ; + mov ecx,768 ; RGB * 256 +@invid: lodsb + out dx,al + loop @invid + ret +set_palette endp + +;---------------------------------- +; SCREEN OFF +;---------------------------------- +screen_off proc + CLI + MOV AL,1 + MOV DX,03C4H + OUT DX,AL + INC DX + IN AL,DX + OR AL,20H + OUT DX,AL + STI + RET +screen_off endp + +;--------------------------- +; SCREEN ON +;--------------------------- +screen_on proc + + CLI + MOV AL,1 + MOV DX,03C4H + OUT DX,AL + INC DX + IN AL,DX + AND AL,0DFH + OUT DX,AL + STI + RET + +screen_on endp + +;------------------------------------------- +; +;------------------------------------------- +MakeSqrTable proc near + + mov ecx,0 +@@next: + mov eax,ecx + mov ebx,ecx + mul ebx + mov SqrTable[ecx*4],eax + inc ecx + cmp ecx,10000 + jb SHORT @@next + + ret + +MakeSqrTable endp + +;------------------------------- +; +;------------------------------- +FindSqrt_ proc + + push ebx + push edx + push esi + push edi + + mov edx,5000 + mov esi,0 + mov edi,9999 +@@sss: + cmp eax,SqrTable[edx*4] + je SHORT @@out + ja SHORT @@aaa + jb SHORT @@bbb +@@aaa: + mov esi,edx + mov ebx,edi + sub ebx,esi + shr ebx,1 + jz SHORT @@out + add edx,ebx + + jmp SHORT @@sss +@@bbb: + mov edi,edx + mov ebx,edi + sub ebx,esi + shr ebx,1 + jz SHORT @@out + sub edx,ebx + + jmp SHORT @@sss +@@out: + mov eax,edx + + pop edi + pop esi + pop edx + pop ebx + + ret +FindSqrt_ endp + +;--------------------------- +; initialize PALETTE TABLE +;--------------------------- +init_palette proc + + mov esi,offset Pal + mov edi,offset Paltmp + + cld + mov ecx,768/4 + rep movsd + + ret + +init_palette endp + +;--------------------------- +; set board palette +;--------------------------- +set_board proc near + + cmp copstat,2 + jne @@zero + mov al,0 ; + mov dx,3c8h ; I/O port of palette reg + out dx,al ; 0 + mov dx,3c9h ; + mov al,63 + out dx,al + mov al,0 + out dx,al + out dx,al + ret +@@zero: + mov al,0 ; + mov dx,3c8h ; I/O port of palette reg + out dx,al ; 0 + mov dx,3c9h ; + xor al,al + out dx,al + out dx,al + out dx,al + ret +set_board endp + +;--------------------------- +; edx : GAMMA +;--------------------------- +gamma_correction proc + + mov esi,offset Pal + mov edi,offset Paltmp + + mov ecx,768 +@@npal: + xor ebx,ebx + mov bl,byte ptr[esi] + movzx bx,bl + mov al,[edx][ebx] + mov byte ptr[edi],al + + inc esi + inc edi + + loop @@npal + + mov esi,offset Paltmp + call set_palette + + ret + +gamma_correction endp + +;--------------------------- +; RED OUT +;--------------------------- +turn2red proc + + cmp copstat,2 + jne @@nzero + + cmp RedOut,1 + je @@out + + mov RedOut,1 + mov esi,offset Paltmp + mov edi,offset Paltmp2 + + xor eax,eax + cld + mov ecx,768/4 + rep stosd + + mov edi,offset Paltmp2 + + xor eax,eax ; RED + add esi,eax + add edi,eax + mov ecx,768/3 +@@next: + mov al,[esi] + mov [edi],al + add esi,3 + add edi,3 + + loop @@next + + mov esi,offset Paltmp2 + call set_palette + ret +@@nzero: + cmp RedOut,0 + je SHORT @@out + + mov RedOut,0 + mov esi,offset Paltmp + call set_palette +@@out: + ret +turn2red endp + +;--------------------------- +; blue OUT +;--------------------------- +turn2blue proc + + cmp copstat,9 + jne @@nzero + + cmp BlueOut,1 + je @@out + + mov BlueOut,1 + mov esi,offset Paltmp + mov edi,offset Paltmp2 + + xor eax,eax + cld + mov ecx,768/4 + rep stosd + + mov edi,offset Paltmp2 + + mov eax,2 ; BLUE + add esi,eax + add edi,eax + mov ecx,768/3 +@@next: + mov al,[esi] + mov [edi],al + add esi,3 + add edi,3 + + loop @@next + + mov esi,offset Paltmp2 + call set_palette + ret +@@nzero: + cmp BlueOut,0 + je SHORT @@out + + mov BlueOut,0 + mov esi,offset Paltmp + call set_palette +@@out: + ret +turn2blue endp + +;------------------------ +; 13h plane mode +;------------------------ +xmode PROC + + mov ax,13h ; BIOS call + int 10h ; Ordinary 320 x 200 MCGA + mov dx,SC_INDEX ; Sequencer controller + mov ax,0604h ; 0110b index 4 Memory mode reg. + out dx,ax ; |__________ chain 4 bit 0 + + mov dx,SC_INDEX ; + mov ax,0f02h ; 1111b index 2 Map mask reg + out dx,ax + mov edi,SCREEN_OFF ; + xor eax,eax ; + mov ecx,4000h ; + rep stosd ; clean the screen + + mov dx,CRTC_INDEX ; CRT controller + mov ax,0014h ; index 14 Underline Location reg. + out dx,ax ; double word mode bit 0 + mov ax,0E317h ; index 17 Mode Control reg. + out dx,ax ; word/byte mode bit 1 (byte mode) + ret + +xmode ENDP + +;------------------------------------ +; wait for start of vertical retrace +;------------------------------------ +wait_vrt PROC + + push ax + push dx + + mov dx,3dah +@@wvrt1: + in al,dx + test al,8 + je @@wvrt1 +@@wvrt2: + in al,dx + test al,8 + jne @@wvrt2 + + pop dx + pop ax + + ret + +wait_vrt ENDP + +;-------------------------------- +; clean active Page (not visual) +;-------------------------------- +clean PROC + push es + + mov ax,ds + mov es,ax + + mov dx,SC_INDEX + mov ax,0f02h + out dx,ax + + mov edi,SCREEN_OFF + add edi,PageOffset + + cld + xor eax,eax + mov ecx,1000h + rep stosd + + pop es + + ret + +clean ENDP + +;------------------------------------------- +; clean active Page (not visual) with color +; eax : color +;------------------------------------------- +cleanC PROC + push es + push ds + push eax + push ebx + push ecx + push edx + push edi + + mov ebx,eax + + mov ax,ds + mov es,ax + + mov dx,SC_INDEX + mov ax,0f02h + out dx,ax + + mov edi,SCREEN_OFF + add edi,PageOffset + + mov eax,ebx + shl eax,8 + or eax,ebx + shl eax,8 + or eax,ebx + shl eax,8 + or eax,ebx + + cld + mov ecx,1000h + rep stosd + + pop edi + pop edx + pop ecx + pop ebx + pop eax + pop ds + pop es + + ret + +cleanC ENDP + +set_startP proc + + push bx + push cx + push dx + push ax + + mov bl,START_ADDRESS_LOW + mov bh,Byte ptr [StartOffset] + mov cl,START_ADDRESS_HIGH + mov ch,Byte ptr [StartOffset+1] + mov dx,CRTC_INDEX + mov ax,bx + out dx,ax + mov ax,cx + out dx,ax + + pop ax + pop dx + pop cx + pop bx + + ret + +set_startP endp + +;------------------------ +; Page flip +;------------------------ +showp PROC + + push bx + push cx + push dx + push ax + + mov bl,START_ADDRESS_LOW + mov bh,Byte ptr [StartOffset] + mov cl,START_ADDRESS_HIGH + mov ch,Byte ptr [StartOffset+1] + mov dx,CRTC_INDEX + mov ax,bx + out dx,ax + mov ax,cx + out dx,ax + + cmp PageOffset,0 + jne @@Page0 + mov PageOffset,4000h + mov StartOffset,4000h + pop ax + pop dx + pop cx + pop bx + ret +@@Page0: + mov PageOffset,0 + mov StartOffset,0 + pop ax + pop dx + pop cx + pop bx + ret + +showp ENDP + +;---------------------------------- +; cops sprite initial +;---------------------------------- +copspr PROC + + mov eax,48 + mov sx,eax + shr eax,2 + mov sxq,eax + + mov eax,47 + mov sy,eax + mul sx + mov sxsy,eax + + mov eax,80 + mul sy + mov sy80,eax + + ret + +copspr ENDP + +panspr PROC + + mov eax,320 + mov sx,eax + shr eax,2 + mov sxq,eax + + mov eax,50 + mov sy,eax + mul sx + mov sxsy,eax + + mov eax,80 + mul sy + mov sy80,eax + + ret + +panspr ENDP + +;-------------------------------------- +; put sprite +; esi, eax, edx +;-------------------------------------- +put_sprP PROC + +; movzx eax,word ptr[esi] +; mov sx,eax +; shr eax,2 +; mov sxq,eax + +; movzx eax,word ptr[esi+2] +; mov sy,eax +; mul sx +; mov sxsy,eax + +; mov eax,80 +; mul sy +; mov sy80,eax + + mov maps,11h + mov ecx,eax + and ecx,3 + rol maps,cl + + shr eax,2 ; 3 X / 4 + lea edx,[edx * 8] ; 2 Y * 8 + lea edx,[edx * 2] ; 2 Y * 8 * 2 + lea edx,[edx * 4][edx] ; 2 Y * 8 * 2 * 5 + add eax,edx ; 2 X / 4 + Y * 80 + ; total 11 clock + + mov edi,eax + add edi,SCREEN_OFF ;Calculate Init Pixel on dest. + add edi,PageOffset ; + mov lstart,edi + + mov dx,SC_INDEX ;Let's prepare SC_INDEX + mov al,MAP_MASK ;For the MAP_MASK + out dx,al ;..... + + xor ebp,ebp + + mov ecx,4 +@@nextp: ; 4-planes loop + mov dx,SC_INDEX+1 ;set Map Mask reg. + mov al,maps ; + out dx,al ; + + xor ebx,ebx + add ebx,ebp + + mov edi,lstart + + push ecx + mov ecx,sxq +@@x: ; X-offset loop + + push ecx + mov ecx,sy +@@y: ; Y-offset loop + + mov al,byte ptr[esi+ebx+4] + cmp al,0 + jz SHORT @@skip0 + mov byte ptr[edi],al +@@skip0: + add ebx,sx + add edi,80 + loop @@y + + sub ebx,sxsy + add ebx,4 + sub edi,sy80 + add edi,1 + + pop ecx + loop @@x + + rol maps,1 + adc lstart,0 + add ebp,1 + pop ecx + loop @@nextp + +;;;;;------------------- + mov ecx,sx + and ecx,3 + jz @@here +@@x1: + mov al,maps ; + out dx,al ; + + push ecx + mov ecx,sy +@@y1: ; Y-offset loop + + mov al,byte ptr[esi+ebx+4] + cmp al,0 + jz SHORT @@skip00 + mov byte ptr[edi],al +@@skip00: + add ebx,sx + add edi,80 + loop @@y1 + + sub ebx,sxsy + add ebx,1 + sub edi,sy80 + + rol maps,1 + adc edi,0 + + pop ecx + loop @@x1 +@@here: + ret +put_sprP ENDP + +;-------------------------------------- +; put sprite +; esi : sprite +; eax, edx : X, Y +;-------------------------------------- +put_spr PROC + + push eax + push ecx + push edx + + mov maps,11h + mov ecx,eax + and ecx,3 + rol maps,cl + + shr eax,2 ; 3 X / 4 + lea edx,[edx * 8] ; 2 Y * 8 + lea edx,[edx * 2] ; 2 Y * 8 * 2 + lea edx,[edx * 4][edx] ; 2 Y * 8 * 2 * 5 + add eax,edx ; 2 X / 4 + Y * 80 + ; total 11 clock + + mov edi,eax + add edi,SCREEN_OFF ;Calculate Init Pixel on dest. + add edi,PageOffset ; + mov lstart,edi + + movzx eax,word ptr[esi] ;sx + mov sx,eax ; + shr eax,2 ; + mov sxq,eax ;sxq = sx / 4 + + movzx eax,word ptr[esi+2] ;sy + mov sy,eax ; + mul sx ; + mov sxsy,eax ;sxsy = sx * sy + + mov eax,80 ; + mul sy ; + mov sy80,eax ;sy80 = sy * 80 + + mov dx,SC_INDEX ;Let's prepare SC_INDEX + mov al,MAP_MASK ;For the MAP_MASK + out dx,al ;..... + + xor ebp,ebp + + cmp sxq,0 + je @@pppp + + mov ecx,4 +@@nextp: ; 4-planes loop + mov dx,SC_INDEX+1 ;set Map Mask reg. + mov al,maps ; + out dx,al ; + + xor ebx,ebx + add ebx,ebp + + mov edi,lstart + + push ecx + mov ecx,sxq +@@x: ; X-offset loop + + push ecx + mov ecx,sy +@@y: ; Y-offset loop + + mov al,byte ptr[esi+ebx+4] + cmp al,0 + jz SHORT @@skip0 + mov byte ptr[edi],al +@@skip0: + add ebx,sx + add edi,80 + loop @@y + + sub ebx,sxsy + add ebx,4 + sub edi,sy80 + add edi,1 + + pop ecx + loop @@x + + rol maps,1 + adc lstart,0 + add ebp,1 + pop ecx + loop @@nextp + +;;;;;------------------- +@@pppp: + mov ecx,sx + and ecx,3 + jz SHORT @@here + + mov ebx,sx + sub ebx,ecx + + ror maps,1 + jc SHORT @@noo + sub edi,1 +@@noo: + rol maps,1 + +@@x1: + mov al,maps ; + out dx,al ; + + push ecx + mov ecx,sy +@@y1: ; Y-offset loop + + mov al,byte ptr[esi+ebx+4] + cmp al,0 + jz SHORT @@skip00 + mov byte ptr[edi],al +@@skip00: + add ebx,sx + add edi,80 + loop @@y1 + + sub ebx,sxsy + add ebx,1 + sub edi,sy80 + + rol maps,1 + adc edi,0 + + pop ecx + loop @@x1 +@@here: + pop edx + pop ecx + pop eax + ret + +put_spr ENDP + +;------------------------------------ +; Keep picture in PAGE 2 +;------------------------------------ +keep_pic PROC + + mov dx,SC_INDEX ;Let's prepare SC_INDEX + mov al,MAP_MASK ;For the MAP_MASK + out dx,al ;..... + + xor ebp,ebp + + mov bx,1 + mov cx,4 +@@nextp: ; 4-planes loop + mov dx,SC_INDEX+1 ;set Map Mask reg. + mov al,bl ; + out dx,al ; + + mov esi,0 + add esi,ebp + + mov edi,SCREEN_OFF ;Calculate Init Pixel on dest. + add edi,8000h ; Page 2 + + push ecx + mov ecx,80 +@@x: ; X-offset loop + + push ecx + mov ecx,79 +@@y: ; Y-offset loop + + mov al,byte ptr back_spr_data[esi+4] + mov byte ptr[edi],al + + add esi,320 + add edi,80 + loop @@y + + sub esi,320*79 + add esi,4 + sub edi,80*79 + add edi,1 + + pop ecx + loop @@x + + shl bx,1 + add ebp,1 + pop ecx + loop @@nextp + + ret +keep_pic ENDP + +;--------------------------------------- +; put picture +; si : source +; di : destination di = x / 4 + y * 80 +;--------------------------------------- +put_pic PROC + + push ds + + mov dx,GRP_INDEX ;graphic controller + mov ax,4105h ;index 5 Mode reg. + out dx,ax ;256 color write mode 1 + + mov dx,SC_INDEX ;SC_INDEX + mov ax,0f02h ;For the MAP_MASK 1111b + out dx,ax ;all four planes enable + + mov edi,SCREEN_OFF ;Calculate Init Pixel on dest. + add edi,PageOffset ; + + mov esi,SCREEN_OFF ;Calculate Init Pixel on source + add esi,8000h ; Page 2 + + cld + + mov ecx,80*55 ; (320/4) * 55 + rep movsb + +; add esi,80 +; add edi,80 + + mov dx,GRP_INDEX ;graphic controller + mov ax,4005h ;index 5 Mode reg. + out dx,ax ;256 color write mode 0 + + pop ds + + ret + +put_pic ENDP + +;----------------------------------- +; put sprite scaling : cliping +; esi : +; edi : mirror or not +; eax, edx, ebx : x, y, z +; ecx : sfactor +;----------------------------------- +put_sprS proc + + push pers + + mov xxxx,eax + mov yyyy,edx + mov zzzz,ebx + + mov eax,offset put_sprS5 + cmp di,0 + jnz @@mirror1 + mov eax,offset put_sprS6 +@@mirror1: + mov put_sprRT,eax + + movsx ebx,pers + add ebx,ecx + mov pers,bx + + mov sx_start,0 + mov sy_start,0 + + movzx eax,word ptr[esi] + imul ebx + cdq + idiv zzzz + mov XD,eax + cmp eax,2 + jb @@quit + + movzx eax,word ptr[esi+2] + imul ebx + cdq + idiv zzzz + mov YD,eax + cmp eax,2 + jb @@quit + +; shr eax,1 + sub yyyy,eax + + mov eax,XD + shr eax,1 + sub xxxx,eax + + cmp xxxx,RBOUND + jg @@quit + + mov ebp,XD + add ebp,xxxx + mov xr,ebp + + cmp xr,LBOUND + jl @@quit + + mov ebp,YD + add ebp,yyyy + mov yb,ebp + + cmp ebp,ABOUND + jl @@quit + + mov eax,xxxx + mov xl,eax + + mov edx,yyyy + mov ya,edx + + cmp edx,BBOUND ; yb > BBOUND + jg @@quit ; + + movzx eax,word ptr[esi] + shl eax,16 + cdq + mov ebx,XD + div ebx + mov xdd_,eax + + movzx eax,word ptr[esi+2] + shl eax,16 + cdq + mov ebx,YD + div ebx + mov ydd_,eax + + mov ydd,ax + shr eax,16 + mov ydu,ax + mul word ptr[esi] + mov yinc,ax + +;;---- cliping check ---------- +@@xclip: ; clip right + sub xr,RBOUND + jle SHORT @@lclip + mov ebp,xr + sub XD,ebp + inc XD +@@lclip: ; clip left + sub xl,LBOUND + jge @@yclip + mov ebp,xl + add XD,ebp + inc XD + neg ebp +; inc ebp + imul ebp,xdd_ + mov sx_start,ebp + mov xxxx,0 + +@@yclip: + mov eax,YD + sub yb,BBOUND ; clip below + jle SHORT @@uclip ; + mov ebp,yb + sub YD,ebp + mov eax,YD + inc YD +@@uclip: ; clip above + sub ya,ABOUND ; yb <= BBOUND + jge @@noclip + mov YD,eax + mov ebp,ya + add YD,ebp + inc YD + neg ebp + sub ebp,1 + imul ebp,ydd_ + shr ebp,16 + movzx ecx,word ptr[esi] + imul ebp,ecx + mov sy_start,ebp + mov yyyy,0 + +@@noclip: + mov eax,xxxx + mov edx,yyyy + shr eax,2 ; 3 X / 4 + lea edx,[edx * 8] ; 2 Y * 8 + lea edx,[edx * 2] ; 2 Y * 8 * 2 + lea edx,[edx * 4][edx] ; 2 Y * 8 * 2 * 5 + add eax,edx ; 2 X / 4 + Y * 80 + ; total 11 clock + mov edi,eax + add edi,SCREEN_OFF ;Calculate Init Pixel on dest. + add edi,PageOffset ; + + mov eax,YD + lea eax,[eax * 8] ; dii = YD * 80 + lea eax,[eax * 2] ; + lea eax,[eax * 4][eax] ; + mov dii,eax ; + + mov maps,11h + mov ecx,xxxx ; xxxx + and ecx,3 + rol maps,cl + + call [put_sprRT] + +@@quit: + pop pers + + ret +put_sprS endp + +;----------------------------------- +; put sprite scaling : CENTER +; +; esi : sprite image offset +; di : mirror or not +; eax, edx, ebx : x, y, z +; ecx : scale +;----------------------------------- +put_sprSC proc + + push pers + + mov xxxx,eax ; screen X + mov yyyy,edx ; screen Y + mov zzzz,ebx ; Z + + mov eax,offset put_sprS5 + cmp di,0 + jnz @@mirror1 + mov eax,offset put_sprS6 +@@mirror1: + mov put_sprRT,eax + + movsx ebx,pers + add ebx,ecx + mov pers,bx + + mov sx_start,0 + mov sy_start,0 + + movzx eax,word ptr[esi] + imul ebx + cdq + idiv zzzz + mov XD,eax + cmp eax,2 + jb @@quit + + movzx eax,word ptr[esi+2] + imul ebx + cdq + idiv zzzz + mov YD,eax + cmp eax,2 + jb @@quit + + shr eax,1 + sub yyyy,eax + + mov eax,XD + shr eax,1 + sub xxxx,eax + + mov ebp,XD + add ebp,xxxx + mov xr,ebp + + cmp xr,LBOUND + jl @@quit + + mov ebp,YD + add ebp,yyyy + mov yb,ebp + + cmp ebp,ABOUND + jl @@quit + + mov eax,xxxx + mov xl,eax + mov edx,yyyy + mov ya,edx + + cmp edx,BBOUND ; yb > BBOUND + jg @@quit ; + + movzx eax,word ptr[esi] ; image sx + shl eax,16 + cdq + mov ebx,XD + div ebx + mov xdd_,eax + + movzx eax,word ptr[esi+2] ; image sy + shl eax,16 + cdq + mov ebx,YD + div ebx + mov ydd_,eax + mov ydd,ax + shr eax,16 + mov ydu,ax + mul word ptr[esi] + mov yinc,ax + +@@xclip: + sub xr,RBOUND + jle SHORT @@lclip + cmp xl,RBOUND + jg @@quit + mov ebp,xr + sub XD,ebp + inc XD +@@lclip: + sub xl,LBOUND + jge @@yclip + mov ebp,xl + add XD,ebp + inc XD + neg ebp +;;;; inc ebp + imul ebp,xdd_ + mov sx_start,ebp + mov xxxx,0 + +@@yclip: + mov eax,YD + sub yb,BBOUND + jle SHORT @@uclip ; + mov ebp,yb + sub YD,ebp + mov eax,YD + inc YD +@@uclip: ; yb <= BBOUND + sub ya,ABOUND + jge @@noclip + mov YD,eax + mov ebp,ya + add YD,ebp + inc YD + neg ebp + sub ebp,1 + imul ebp,ydd_ + shr ebp,16 + movzx ecx,word ptr[esi] + imul ebp,ecx + mov sy_start,ebp + mov yyyy,0 + +@@noclip: + mov eax,xxxx + mov edx,yyyy + shr eax,2 ; 3 X / 4 + lea edx,[edx * 8] ; 2 Y * 8 + lea edx,[edx * 2] ; 2 Y * 8 * 2 + lea edx,[edx * 4][edx] ; 2 Y * 8 * 2 * 5 + add eax,edx ; 2 X / 4 + Y * 80 + ; total 11 clock + mov edi,eax + add edi,SCREEN_OFF ;Calculate Init Pixel on dest. + add edi,PageOffset ; + + mov eax,YD + lea eax,[eax * 8] ; dii = YD * 80 + lea eax,[eax * 2] ; + lea eax,[eax * 4][eax] ; + mov dii,eax ; + + mov maps,11h + mov ecx,xxxx ; xxxx + and ecx,3 + rol maps,cl + + call [put_sprRT] + +@@quit: + pop pers + + ret + +put_sprSC endp + +;-------------------------------------- +; normal sprite +;-------------------------------------- +put_sprS5 PROC near + + mov dx,SC_INDEX ;Let's prepare SC_INDEX + mov al,MAP_MASK ;For the MAP_MASK + out dx,al ;..... + + mov ebp,sx_start ; ebx = sx_start source X + + mov ecx,XD +@@X: + mov dx,SC_INDEX+1 ;set Map Mask reg. + mov al,maps + out dx,al ; + ; + mov ebx,sy_start + mov y_d,0 + + push ecx + mov ecx,YD +@@Y: + mov eax,ebp + shr eax,16 + + add eax,ebx + + mov al,byte ptr[esi+eax+4] + cmp al,0 + jz SHORT @@skip0 + mov byte ptr[edi],al +@@skip0: + mov ax,ydd + add y_d,ax + jnc @@noinc + add bx,word ptr[esi] +@@noinc: + add bx,yinc + + add edi,80 + + loop @@Y + ; + add ebp,xdd_ + + sub edi,dii + + rol maps,1 + adc edi,0 + + pop ecx + loop @@X + +@@quit: + ret + +put_sprS5 ENDP + +;------------------------------------ +; mirrored sprite +;------------------------------------ +put_sprS6 PROC near + + mov dx,SC_INDEX ;Let's prepare SC_INDEX + mov al,MAP_MASK ;For the MAP_MASK + out dx,al ;..... + + movzx ebp,word ptr[esi] + shl ebp,16 + sub ebp,sx_start ; ebp = sx_start source X + dec ebp + + mov ecx,XD ;XD = dest. X length +@@X: + mov dx,SC_INDEX+1 ;set Map Mask reg. + mov al,maps + out dx,al ; + ; + mov ebx,sy_start + mov y_d,0 + + push ecx + mov ecx,YD ;YD = dest. Y length +@@Y: + mov eax,ebp ;ebp = source x index + shr eax,16 ; + + add eax,ebx ;ebx = source y index + + mov al,byte ptr[esi+eax+4] ;eax = source index + cmp al,0 + jz SHORT @@skip0 + mov byte ptr[edi],al +@@skip0: + mov ax,ydd + add y_d,ax + jnc @@noinc + add bx,word ptr[esi] +@@noinc: + add bx,yinc + + add edi,80 + + loop @@Y + ; + sub ebp,xdd_ + + sub edi,dii + + rol maps,1 + adc edi,0 + + pop ecx + loop @@X + +@@quit: + ret + +put_sprS6 ENDP + +;================================================================= +;------------------------------------------------- +; save orignal key int. handler & set new handler +;------------------------------------------------- +keyint_on proc near + + ; key-intr. handler 09h + push es ; save es + mov ax,3509h ; get interrupt vector ah = 35h + int 21h ; al = int No. + mov ax,es ; ret es:ebx + mov int09seg,ax ; get original int. vector + mov int09off,ebx ; and store + pop es + + push ds ; save ds reg. + mov ax,2509h ; set interrupt vector ah = 25h + mov edx,offset newint09 ; ds:edx = cs:eip + mov bx,cs ; al = int No. + mov ds,bx ; set new int. handler + int 21h ; + pop ds + + ret +keyint_on endp + +;----------------------------------- +; restore original key-int. vector +;----------------------------------- +keyint_off proc near + + mov ax,2509h ; set int. vector ah = 25h + mov edx,int09off ; ds:edx + push ds ; + mov bx,int09seg ; + mov ds,bx + int 21h + pop ds + + ret +keyint_off endp + +;--------------------------- +; key-interrupt handler +;--------------------------- +newint09 proc far + cli + push es + push eax ; save used reg. + push ebx ; + + mov bx,DGROUP ; es = dgroup + mov es,bx ; + + in al,60h ; read pressed key + cmp al,127 ; from I/O port 60h + ja @up + + xor ebx,ebx ; which key? + and al,127 ; + mov es:key_hit,al ; + mov bl,al ; Don't forget to remember + cmp es:keyboard[ebx],0 ; es segment overriding + jne @keys ; data acsessed in int. handler + mov es:key_edge[ebx],1 ; needs ES segment overriding +@keys: ; under DOS/4G FLAT model + mov es:keyboard[ebx],1 + jmp @eoi +@up: + xor ebx,ebx + and al,127 + mov bl,al + mov es:keyboard[ebx],0 ; +@eoi: + mov al,20h ; EOI to 8259-1 + out 20h,al ; (interrupt controller) + + pop ebx ; + pop eax + pop es + sti + iretd +newint09 endp + +;=========================================================================== +;------------------------------- +; set table of tangent value +;------------------------------- +set_tangent proc near + + mov ecx,200 + mov esi,-100 + xor edi,edi + movsx ebx,pers +@ntan: + mov eax,esi + shl eax,16 + cdq + idiv ebx + mov tangent[edi],eax + + add esi,1 + add edi,4 + + loop @ntan + + ret +set_tangent endp + +;--------------------------------- +; +;--------------------------------- +world2eye proc + push ebp + + mov si,ax + mov di,dx + mov bp,bx + + movsx ebx,eye_th ; + and ebx,255 ; sine table indexing + shl ebx,1 ; for word ptr + mov dx,SIN[ebx] ; sin(eye_th) + mov sine,dx ; + + movsx ebx,eye_th ; + add ebx,64 ; cosine + and ebx,255 ; + shl ebx,1 ; + mov dx,SIN[ebx] ; dx = cos(eye_th) + mov cosine,dx +@@next1: + mov ax,si ; + sub ax,eye_x ; rx = x - eye_x + mov rx,ax + mov ax,di ; + sub ax,eye_y ; ry = y - eye_y + mov yyy,ax + mov ax,bp ; +; sub ax,eye_z ; rz = z - eye_z + mov rz,ax + + mov ax,rx ; rx * cos(eye_th) + imul cosine ; + shld dx,ax,1 ; rx * cos(eye_th) / 32768 + mov xxx,dx + + mov ax,rz ; + imul sine ; rz * sin(eye_th) + shld dx,ax,1 ; rz * sin(eye_th) / 32768 + sub xxx,dx ; + + mov ax,rz ; rz * cos(eye_th) + imul cosine + shld dx,ax,1 ; rz * cos(eye_th) / 32768 + mov zzz,dx + + mov ax,rx ; + imul sine ; rx * sin(eye_th) + shld dx,ax,1 ; rx * sin(eye_th) / 32768 + add zzz,dx ; + + movsx eax,xxx + movsx edx,yyy + movsx ebx,zzz + + pop ebp + + ret + +world2eye endp + +;---------------------------------- +; +;---------------------------------- +eye2screen proc + + movsx ebp,eye_x + sub eax,ebp ; X + + movsx ebp,eye_y + sub edx,ebp ; Y + + movsx ebp,eye_z + sub ebx,ebp ; Z + + ret +eye2screen endp + +;---------------------------------------------- +; calculate angle of forward moving direction +;---------------------------------------------- +dirf PROC near + + movzx ebx,d_th ; + and ebx,255 ; sine table indexing + shl ebx,1 ; for word ptr + mov dx,SIN[ebx] ; sin(eye_th) + mov sine,dx ; + + movzx ebx,d_th ; + add ebx,64 ; cosine + and ebx,255 ; + shl ebx,1 ; + mov dx,SIN[ebx] ; dx = cos(eye_th) + mov cosine,dx ; + + mov ax,dif ; rx * cos(eye_th) + cmp ax,0 + jge @@ppp + + neg ax + imul cosine ; + shld dx,ax,1 ; rx * cos(eye_th) / 32768 + sub eye_x,dx + + mov ax,dif ; + neg ax + imul sine ; rz * sin(eye_th) + shld dx,ax,1 ; rz * sin(eye_th) / 32768 + sub eye_z,dx ; + jmp enddir +@@ppp: + imul cosine ; + shld dx,ax,1 ; rx * cos(eye_th) / 32768 + add eye_x,dx + + mov ax,dif ; + imul sine ; rz * sin(eye_th) + shld dx,ax,1 ; rz * sin(eye_th) / 32768 + add eye_z,dx ; +enddir: + ret + +dirf endp + +;------------------------------------------------- +; Horizental Line drawing : called from draw_floor +;------------------------------------------------- +hline1 PROC near + + push esi + push edi + push ebp + + movzx eax,bp ; Be careful!! BP, Not ebp + add eax,50 + mov edx,80 + mul edx + add eax,SCREEN_OFF + add eax,PageOffset + mov lstart,eax + + mov ax,5 ;640 / 128(pers) = 5 + mov dx,zz ; + mul dx ;5 * zz + shr ax,2 ; + + mov ex2,ax + neg ax + mov ex1,ax + ; + movzx ebx,eye_th ; + and ebx,255 ;sine table indexing + shl ebx,1 ;for word ptr + mov dx,SIN[ebx] ;sin(eye_th) + mov sine,dx ; + + movzx ebx,eye_th ; + add ebx,64 ;cosine + and ebx,255 ; + shl ebx,1 ; + mov dx,SIN[ebx] ;dx = cos(eye_th) + mov cosine,dx +; x1, z1 + mov ax,ex1 ;ex1 * cos(eye_th) + imul cosine ; + shld dx,ax,1 ;ex1 * cos(eye_th) / 32768 + mov x1,dx + + mov ax,zz ; + imul sine ;zz * sin(eye_th) + shld dx,ax,1 ;zz * sin(eye_th) / 32768 + add x1,dx ; + + mov ax,zz ;zz * cos(eye_th) + imul cosine + shld dx,ax,1 ;zz * cos(eye_th) / 32768 + mov z1,dx + + mov ax,ex1 ; + imul sine ;ex1 * sin(eye_th) + shld dx,ax,1 ;ex1 * sin(eye_th) / 32768 + sub z1,dx ; + +; x2, z2 + mov ax,ex2 ;ex2 * cos(eye_th) + imul cosine ; + shld dx,ax,1 ;ex2 * cos(eye_th) / 32768 + mov x2,dx + + mov ax,zz ; + imul sine ;zz * sin(eye_th) + shld dx,ax,1 ;zz * sin(eye_th) / 32768 + add x2,dx ; + + mov ax,zz ;zz * cos(eye_th) + imul cosine + shld dx,ax,1 ;zz * cos(eye_th) / 32768 + mov z2,dx + + mov ax,ex2 ; + imul sine ;ex2 * sin(eye_th) + shld dx,ax,1 ;ex2 * sin(eye_th) / 32768 + sub z2,dx ; + ; + mov ax,eye_x + add x1,ax + add x2,ax + + mov ax,eye_z + add z1,ax + add z2,ax + ; + mov ax,x1 + shl eax,16 + mov xs_,eax + + mov ax,z1 + shl eax,16 + mov zs_,eax + + mov ax,x2 + sub ax,x1 + inc ax + shl eax,16 + cdq + mov ebx,320 + idiv ebx + mov xa1_,eax + shl eax,2 + mov xa_,eax + + mov ax,z2 + sub ax,z1 + inc ax + shl eax,16 + cdq + idiv ebx + mov za1_,eax + shl eax,2 + mov za_,eax + + cld + mov maps,1 ;Map Mask + mov ecx,4 +@@nextm: + mov dx,SC_INDEX+1 ;index 2 Mask + mov al,maps ; + out dx,al ; + + mov edi,lstart + + mov esi,xs_ + mov ebp,zs_ + + push ecx + mov ecx,80 + align 4 +@@nextp: + mov eax,ebp + neg eax + mov edx,eax + shr eax,17 + and eax,63 + shl eax,6 ;zz * 64 + + mov ebx,esi ; xx + shr ebx,17 + and ebx,63 + add ebx,eax +; + shr edx,17+6 + and edx,127 + shl edx,4 ;mapz * 16 + + mov eax,esi ;mapx + shr eax,17+6 + and eax,15 + add eax,edx + + mov eax,TEXMAP[eax * 4] + mov al,byte ptr[eax][ebx] + stosb +; mov es:byte ptr[edi],al +; inc edi + + add esi,xa_ + add ebp,za_ + + dec ecx + jnz @@nextp + + mov eax,xa1_ + add xs_,eax + mov eax,za1_ + add zs_,eax + + shl maps,1 + + pop ecx + + dec ecx + jnz @@nextm + + pop ebp + pop edi + pop esi + + ret + +hline1 ENDP + + +hline2 PROC near + + push esi + push edi + push ebp + + movzx eax,bp ; Be careful!! BP, Not ebp + add eax,50 + mov edx,80 + mul edx + add eax,SCREEN_OFF + add eax,PageOffset + mov lstart,eax + + mov ax,5 ;640 / 128(pers) = 5 + mov dx,zz ; + mul dx ;5 * zz + shr ax,2 ; + + mov ex2,ax + neg ax + mov ex1,ax + ; + movzx ebx,eye_th ; + and ebx,255 ;sine table indexing + shl ebx,1 ;for word ptr + mov dx,SIN[ebx] ;sin(eye_th) + mov sine,dx ; + + movzx ebx,eye_th ; + add ebx,64 ;cosine + and ebx,255 ; + shl ebx,1 ; + mov dx,SIN[ebx] ;dx = cos(eye_th) + mov cosine,dx +; x1, z1 + mov ax,ex1 ;ex1 * cos(eye_th) + imul cosine ; + shld dx,ax,1 ;ex1 * cos(eye_th) / 32768 + mov x1,dx + + mov ax,zz ; + imul sine ;zz * sin(eye_th) + shld dx,ax,1 ;zz * sin(eye_th) / 32768 + add x1,dx ; + + mov ax,zz ;zz * cos(eye_th) + imul cosine + shld dx,ax,1 ;zz * cos(eye_th) / 32768 + mov z1,dx + + mov ax,ex1 ; + imul sine ;ex1 * sin(eye_th) + shld dx,ax,1 ;ex1 * sin(eye_th) / 32768 + sub z1,dx ; + +; x2, z2 + mov ax,ex2 ;ex2 * cos(eye_th) + imul cosine ; + shld dx,ax,1 ;ex2 * cos(eye_th) / 32768 + mov x2,dx + + mov ax,zz ; + imul sine ;zz * sin(eye_th) + shld dx,ax,1 ;zz * sin(eye_th) / 32768 + add x2,dx ; + + mov ax,zz ;zz * cos(eye_th) + imul cosine + shld dx,ax,1 ;zz * cos(eye_th) / 32768 + mov z2,dx + + mov ax,ex2 ; + imul sine ;ex2 * sin(eye_th) + shld dx,ax,1 ;ex2 * sin(eye_th) / 32768 + sub z2,dx ; + ; + mov ax,eye_x + add x1,ax + add x2,ax + + mov ax,eye_z + add z1,ax + add z2,ax + ; + mov ax,x1 + shl eax,16 + mov xs_,eax + + mov ax,z1 + shl eax,16 + mov zs_,eax + + mov ax,x2 + sub ax,x1 + inc ax + shl eax,16 + cdq + mov ebx,320 + idiv ebx + mov xa1_,eax + shl eax,2 + mov xa_,eax + + mov ax,z2 + sub ax,z1 + inc ax + shl eax,16 + cdq + idiv ebx + mov za1_,eax + shl eax,2 + mov za_,eax + + cld + mov maps,11b ;Map Mask + mov cx,2 +@@nextm: + mov dx,SC_INDEX+1 ;index 2 Mask + mov al,maps ; + out dx,al ; + + mov edi,lstart + + mov esi,xs_ + mov ebp,zs_ + + push cx + mov cx,80 +@@nextp: + mov eax,ebp + neg eax + mov edx,eax + shr eax,17 + and eax,63 + shl eax,6 ;zz * 64 + + mov ebx,esi + shr ebx,17 + and ebx,63 + add ebx,eax +; + shr edx,17+6 + and edx,127 + shl edx,4 ;mapz * 16 + + mov eax,esi + shr eax,17+6 + and eax,15 + add eax,edx + + mov eax,TEXMAP[eax * 4] + mov al,byte ptr[ebx][eax] + stosb +; mov es:byte ptr[edi],al +; inc edi + + add esi,xa_ + add ebp,za_ + + loop @@nextp + + mov eax,xa1_ + add xs_,eax + mov eax,za1_ + add zs_,eax + + shl maps,2 + + pop cx + + dec cx + cmp cx,0 + jnz @@nextm + + pop ebp + pop edi + pop esi + + ret + +hline2 ENDP + +hline3 PROC near + + push esi + push edi + push ebp + + movzx eax,bp ; Be careful!! BP, Not ebp + add eax,50 + mov edx,80 + mul edx + add eax,SCREEN_OFF + add eax,PageOffset + mov lstart,eax + + mov ax,5 ;640 / 128(pers) = 5 + mov dx,zz ; + mul dx ;5 * zz + shr ax,2 ; + + mov ex2,ax + neg ax + mov ex1,ax + ; + movzx ebx,eye_th ; + and ebx,255 ;sine table indexing + shl ebx,1 ;for word ptr + mov dx,SIN[ebx] ;sin(eye_th) + mov sine,dx ; + + movzx ebx,eye_th ; + add ebx,64 ;cosine + and ebx,255 ; + shl ebx,1 ; + mov dx,SIN[ebx] ;dx = cos(eye_th) + mov cosine,dx +; x1, z1 + mov ax,ex1 ;ex1 * cos(eye_th) + imul cosine ; + shld dx,ax,1 ;ex1 * cos(eye_th) / 32768 + mov x1,dx + + mov ax,zz ; + imul sine ;zz * sin(eye_th) + shld dx,ax,1 ;zz * sin(eye_th) / 32768 + add x1,dx ; + + mov ax,zz ;zz * cos(eye_th) + imul cosine + shld dx,ax,1 ;zz * cos(eye_th) / 32768 + mov z1,dx + + mov ax,ex1 ; + imul sine ;ex1 * sin(eye_th) + shld dx,ax,1 ;ex1 * sin(eye_th) / 32768 + sub z1,dx ; + +; x2, z2 + mov ax,ex2 ;ex2 * cos(eye_th) + imul cosine ; + shld dx,ax,1 ;ex2 * cos(eye_th) / 32768 + mov x2,dx + + mov ax,zz ; + imul sine ;zz * sin(eye_th) + shld dx,ax,1 ;zz * sin(eye_th) / 32768 + add x2,dx ; + + mov ax,zz ;zz * cos(eye_th) + imul cosine + shld dx,ax,1 ;zz * cos(eye_th) / 32768 + mov z2,dx + + mov ax,ex2 ; + imul sine ;ex2 * sin(eye_th) + shld dx,ax,1 ;ex2 * sin(eye_th) / 32768 + sub z2,dx ; + ; + mov ax,eye_x + add x1,ax + add x2,ax + + mov ax,eye_z + add z1,ax + add z2,ax + ; + mov ax,x1 + shl eax,16 + mov xs_,eax + + mov ax,z1 + shl eax,16 + mov zs_,eax + + mov ax,x2 + sub ax,x1 + inc ax + shl eax,16 + cdq + mov ebx,320 + idiv ebx + mov xa1_,eax + shl eax,2 + mov xa_,eax + + mov ax,z2 + sub ax,z1 + inc ax + shl eax,16 + cdq + idiv ebx + mov za1_,eax + shl eax,2 + mov za_,eax + + cld + mov maps,1111b ;Map Mask + mov dx,SC_INDEX+1 ;index 2 Mask + mov al,maps ; + out dx,al ; + + mov edi,lstart + + mov esi,xs_ + mov ebp,zs_ + + mov cx,80 +@@nextp: + mov eax,ebp + neg eax + mov edx,eax + shr eax,17 + and eax,63 + shl eax,6 ;zz * 64 + + mov ebx,esi + shr ebx,17 + and ebx,63 + add ebx,eax +; + shr edx,17+6 + and edx,127 + shl edx,4 ;mapz * 16 + + mov eax,esi + shr eax,17+6 + and eax,15 + add eax,edx + + mov eax,TEXMAP[eax * 4] + mov al,byte ptr[ebx][eax] + stosb +; mov es:byte ptr[edi],al +; inc edi + + add esi,xa_ + add ebp,za_ + + loop @@nextp + + pop ebp + pop edi + pop esi + + ret + +hline3 ENDP + +;------------------------------ +; draw floor +;------------------------------ +draw_floor PROC + + mov dx,SC_INDEX ;prepare SC_INDEX + mov al,MAP_MASK ;index 2 MAP_MASK + out dx,al ;..... + + mov edi,SCREEN_OFF ;Calculate Init Pixel on dest. + add edi,PageOffset ; + + mov bp,99 ;starting Y +@@upy: + xor dx,dx + mov ax,eye_y + neg ax + mov bx,pers + mul bx + mov bx,bp + div bx + mov zz,ax + + cmp bp,4 + jl @@sout + + call [hline] + + sub bp,1 + + jmp @@upy +@@sout: + ret + +draw_floor ENDP + +;--------------------------------------- +; +;--------------------------------------- +init_obj_ptr proc + + mov ecx,OBJNO + mov eax,offset obj_table + mov ebx,offset obj_ptr +@@next: + mov ds:dword ptr[ebx],eax + + add eax,64 + add ebx,4 + + loop @@next + + ret + +init_obj_ptr endp + +;--------------------------------- +; +;--------------------------------- +depth_sort proc + + xor esi,esi +@@nbeam: + mov edi,esi + inc edi +@@nobj: + mov ebx,obj_ptr[esi * 4] + mov ax,[ebx].z + mov ebp,obj_ptr[edi * 4] + cmp ax,[ebp].z + jle @@nchg + xchg ebx,obj_ptr[edi*4] + mov obj_ptr[esi*4],ebx +@@nchg: + inc edi + cmp edi,OBJNO-1 + jbe @@nobj +@@here: + inc esi + cmp esi,OBJNO-2 + jbe @@nbeam +@@quit: + ret + +depth_sort endp + +;--------------------------------------- +; eax: type no +;--------------------------------------- +crea_beam proc + + cmp wepon_energy[eax*4],0 + jle @@quit + + mov ebx,eax + + lea eax,[eax*8] + lea eax,[eax*8] + lea esi,beam_type[eax] + + mov ecx,10 +@@nbeam: + mov eax,ecx + dec eax + lea eax,[eax*8] + lea eax,[eax*8] + mov ebp,eax + + cmp beam[ebp].stat,0 + jg @@here + + lea edi,beam[ebp] + cld + push ecx + mov ecx,16 + rep movsd + pop ecx + +;; mov beam[ebp].stat,1 + + xor edx,edx + mov dx,_l + mov eax,_vptr + call sayPCM_ + + mov ax,eye_x + add ax,cops_x + sub ax,135 + mov beam[ebp].x,ax + + mov ax,eye_y + add ax,cops_y + sub ax,99-50-10 + mov beam[ebp].y,ax + + mov ax,pers +; add ax,eye_z + mov beam[ebp].z,ax + + mov beam[ebp].spr_no,0 + + mov ax,SCROL ; + add ax,35 ; beam speed + mov beam[ebp].dlz,ax + + sub wepon_energy[ebx*4],1 + jnc SHORT @@quit + mov wepon_energy[ebx*4],0 + + jmp SHORT @@quit +@@here: + dec ecx + jnz @@nbeam +@@quit: + ret +crea_beam endp + +;--------------------------------------- +; eax: type no +; edx: enemy offset +; _blx , _bly : x, y +;--------------------------------------- +crea_bullet proc + + push ebp + push ecx + push esi + + lea eax,[eax*8] + lea eax,[eax*8] + lea esi,bullet_type[eax] + + mov ecx,BULLETNO +@@next: + mov eax,ecx + dec eax + lea eax,[eax*8] + lea eax,[eax*8] + mov ebp,eax + + cmp blt[ebp].stat,0 + jg @@here + + push edi + lea edi,blt[ebp] + cld + push ecx + mov ecx,16 + rep movsd + pop ecx + pop edi + + mov ax,[edx].x + add ax,_blx + mov blt[ebp].x,ax + + mov ax,[edx].y + add ax,_bly + mov blt[ebp].y,ax + + mov ax,[edx].z + cmp ax,150 + jg SHORT @@skip000 + mov blt[ebp].stat,0 + jmp @@here +@@skip000: + mov blt[ebp].z,ax + + mov ax,eye_x + add ax,cops_x + sub ax,160-24 + sub ax,blt[ebp].x + movsx eax,ax + mov aimx,eax + imul eax,eax + jo @@quit + mov sqr1,eax + + mov ax,eye_y + add ax,cops_y + sub ax,100-70 + sub ax,blt[ebp].y + movsx eax,ax + mov aimy,eax + imul eax,eax + jo @@quit + mov sqr2,eax + + mov ax,128 ; cops_z + sub ax,blt[ebp].z + movsx eax,ax + mov aimz,eax + imul eax,eax + jo @@quit + add eax,sqr2 + add eax,sqr1 + + cmp eax,9998001 + jae @@quit + + call FindSqrt_ + mov ebx,eax + +;;; mov blt[ebp].stat,2 + + push edx + + mov eax,aimx + mov edx,BSPEED + imul edx + idiv ebx + mov blt[ebp].dlx,ax + + mov eax,aimy + mov edx,BSPEED + imul edx + idiv ebx + mov blt[ebp].dly,ax + sub blt[ebp].dly,1 + + mov eax,aimz + mov edx,BSPEED + imul edx + idiv ebx + mov blt[ebp].dlz,ax + + pop edx + + mov blt[ebp].spr_no,0 + + jmp SHORT @@quit +@@here: + dec ecx + jnz @@next +@@quit: + pop esi + pop ecx + pop ebp + + ret + +crea_bullet endp + +;-------------------------- +; input eax : flame type no +; edi : enemy pointer +; ebx : beam pointer +;-------------------------- +crea_flm proc + + push ebp + push ecx + + lea eax,[eax*8] + lea eax,[eax*8] + lea esi,flm_type[eax] + + mov ecx,FLAMENO +@@nflm: + mov eax,ecx + dec eax + lea eax,[eax*8] + lea eax,[eax*8] + mov ebp,eax + + cmp flm[ebp].stat,0 + jg @@heref + + push edi + + lea edi,flm[ebp] + cld + push ecx + mov ecx,16 + rep movsd + pop ecx + + pop edi + + mov flm[ebp].stat,1 + + xor edx,edx + mov dx,[_l+2] ; SFX NO 1 + mov eax,[_vptr+4] ; + call sayPCM_ + + mov ax,[ebx].x + mov flm[ebp].x,ax + mov ax,[ebx].y + mov flm[ebp].y,ax + mov ax,[edi].z + mov flm[ebp].z,ax + sub flm[ebp].z,2 + + mov ax,[edi].dlx + mov flm[ebp].dlx,ax + mov ax,[edi].dly + mov flm[ebp].dly,ax + mov ax,[edi].dlz + mov flm[ebp].dlz,ax + + mov flm[ebp].spr_no,0 + jmp @@flmout +@@heref: + dec ecx + jnz @@nflm +@@flmout: + + pop ecx + pop ebp + + ret + +crea_flm endp + +;-------------------------- +; input eax : flame type no +; edi : enemy pointer +;-------------------------- +crea_flm0 proc + + push ebp + push ecx + push esi + + lea eax,[eax*8] + lea eax,[eax*8] + lea esi,flm_type[eax] + + mov ecx,FLAMENO +@@next: + mov eax,ecx + dec eax + lea eax,[eax*8] + lea eax,[eax*8] + mov ebp,eax + + cmp flm[ebp].stat,0 + jg @@heref + + push edi + + lea edi,flm[ebp] + cld + push ecx + mov ecx,16 + rep movsd + pop ecx + + pop edi + + mov flm[ebp].stat,1 + + xor edx,edx + mov dx,[_l+2*9] + mov eax,[_vptr+4*9] + call sayPCM_ + + mov ax,[edi].x + add ax,_flmx + mov flm[ebp].x,ax + mov ax,[edi].y + add ax,_flmy + mov flm[ebp].y,ax + + mov ax,[edi].z + mov flm[ebp].z,ax + sub flm[ebp].z,5 + + mov ax,[edi].dlx + mov flm[ebp].dlx,ax + mov ax,[edi].dly + mov flm[ebp].dly,ax + mov ax,[edi].dlz + mov flm[ebp].dlz,ax + + mov flm[ebp].spr_no,0 + jmp @@flmout +@@heref: + dec ecx + jnz @@next +@@flmout: + + pop esi + pop ecx + pop ebp + + ret + +crea_flm0 endp + +;-------------------------- +; input eax : item type no +; edi : obj pointer +;-------------------------- +crea_item proc + + push ebp + push ecx + push esi + + lea eax,[eax*8] + lea eax,[eax*8] + lea esi,item_type[eax] + + mov ecx,ENEMYNO +@@next: + mov eax,ecx + dec eax + lea eax,[eax*8] + lea eax,[eax*8] + mov ebp,eax + + cmp enemy[ebp].stat,0 + jg @@here + + push edi + + lea edi,enemy[ebp] + cld + push ecx + mov ecx,16 + rep movsd + pop ecx + + pop edi + + mov enemy[ebp].stat,1 + + mov ax,[edi].x + mov enemy[ebp].x,ax + mov ax,[edi].y + mov enemy[ebp].y,ax + mov ax,[edi].z + mov enemy[ebp].z,ax + + jmp @@out +@@here: + dec ecx + jnz @@next +@@out: + + pop esi + pop ecx + pop ebp + + ret + +crea_item endp + +;--------------------------------------- +; eax : obj TYPE no (<100) or Pointer +; dx : x +;--------------------------------------- +crea_obj proc + push ecx + + mov esi,eax + cmp eax,99 + ja @@skipno + lea eax,[eax*8] + lea eax,[eax*8] + lea esi,enemy_type[eax] +@@skipno: + + cmp boss_on,1 + jne @@noboss + cmp [esi].interaction,1 + je @@quit +@@noboss: + + mov ecx,ENEMYNO +@@next: + mov eax,ecx + dec eax + lea eax,[eax*8] + lea eax,[eax*8] + mov ebp,eax + + cmp enemy[ebp].stat,0 + jg SHORT @@here + + inc obj_counter + + lea edi,enemy[ebp] + cld + push ecx + mov ecx,16 + rep movsd + pop ecx + + mov eax,maxobj + cmp enemy[ebp].obj_no,eax + jne @@skipbosson + mov boss_on,1 +@@skipbosson: + mov eax,OFFSET OBJ_DATA ;;;;;;;;;;;;; + cmp enemy[ebp].obj_no,100;;;;;;;;;;;;; + jb @@skip0 + xor eax,eax +@@skip0: + cmp enemy[ebp].course,0 + je @@skip + add enemy[ebp].course,eax +@@skip: + add enemy[ebp].spr_data,eax + +; mov ax,eye_z +; add enemy[ebp].z,ax + mov enemy[ebp].x,dx +; mov ax,dif +; sub enemy[ebp].dlz,ax + + jmp SHORT @@quit +@@here: + dec ecx + jnz @@next +@@quit: + pop ecx + + ret +crea_obj endp + +;--------------------------------------- +; read enenmy creation map +;--------------------------------------- +read_enmap proc + + movzx eax,eye_z + add eax,2500 + neg eax + mov ebx,eax + shr ebx,7 ; eye_z / 128 + and ebx,127 ; + + cmp OldENMAP,ebx + je @@out + + mov OldENMAP,ebx + + shl ebx,4 ; * 16 + shl ebx,2 + + add ebx,offset ENMAP + + mov ecx,0 +@@next: + mov eax,dword ptr[ebx] + cmp eax,maxobj ; if obj_no == maxobj(boss) + jne @@skipboss ; + cmp obj_counter,BOSSCREA ; boss creation check + jb @@skip ; +@@skipboss: + + cmp eax,maxobj + ja @@skip ;( 0< obj_no <= maxobj ) + sub eax,1 ; + jc @@skip ; + + mov edx,ecx + shl edx,7 + add edx,64 + call crea_obj +@@skip: + add ebx,4 + add ecx,1 + + cmp ecx,16 + jb @@next +@@out: + ret + +read_enmap endp + +;------------------------------------------- +; +;------------------------------------------- +obj_course proc + + mov ecx,BEAMNO + ENEMYNO ; beam & enemy +@@next: + mov eax,ecx + dec eax + lea eax,[eax*8] + lea eax,[eax*8] + mov ebp,eax + + cmp obj_table[ebp].stat,0 + jle @@here + +@@rcos: + mov esi,dword ptr[obj_table][ebp].course + cmp esi,0 + je @@here + cmp esi,-1 + je @@here + + movsx eax,word ptr[esi] ; sprite no + cmp eax,-1 ; end of course + jne @@checkcos + mov obj_table[ebp].course,-1 + jmp @@here + +@@checkcos: + cmp eax,200 ; + jl @@normal ; normal course + + cmp eax,256 ; mirriored sprite + jae @@normal ; normal course + + sub eax,200 ; script course + jmp CourseRoutine[eax * 4] ; + +cos200: +;-----> SFX [200,SFX_no] +;------------------------------------------; + movzx eax,word ptr[esi + 2] + + movzx edx,word ptr[_l][eax*2] + mov eax,dword ptr[_vptr][eax*4] + call sayPCM_ + + add obj_table[ebp].course,4 + jmp @@rcos + +cos201: +;----------> fire bullet [201,bullet_type,x,y] +;------------------------------------------; + movzx eax,word ptr[esi + 2] + mov bx,word ptr[esi + 4] + mov _blx,bx + mov bx,word ptr[esi + 6] + mov _bly,bx + lea edx,obj_table[ebp] + call crea_bullet + + add obj_table[ebp].course,8 + jmp @@rcos + +cos202: +;-----------> sprite no change [202,no] +;-----------------------------------------; + movzx eax,word ptr[esi + 2] + mov obj_table[ebp].spr_no,eax + + add obj_table[ebp].course,4 + jmp @@here + +cos203: +;-----------> set Y [203,y] +;-------------------------------------; + mov ax,word ptr[esi + 2] + mov obj_table[ebp].y,ax + + add obj_table[ebp].course,4 + jmp @@rcos + +cos204: +;-----------> set interaction [204,interaction] +;-------------------------------------; + mov ax,word ptr[esi + 2] + mov obj_table[ebp].interaction,ax + + add obj_table[ebp].course,4 + jmp @@rcos + +cos205: +;----------> crea flame[205,flame_type,x,y] +;------------------------------------------; + movzx eax,word ptr[esi + 2] + mov bx,word ptr[esi + 4] + mov _flmx,bx + mov bx,word ptr[esi + 6] + mov _flmy,bx + lea edi,obj_table[ebp] + call crea_flm0 + + add obj_table[ebp].course,8 + jmp @@rcos + +cos206: +;----------> crea ITEM[206,item_type] +;------------------------------------------; + movzx eax,word ptr[esi + 2] + mov ax,8 + call rand + movzx eax,ax + lea edi,obj_table[ebp] + call crea_item + + add obj_table[ebp].course,4 + jmp @@rcos + +cos207: +cos208: + +cos209: +;----------> BOSS SELF DESTRUCTION & STAGE CLEAR[209] +; only for BOSS +;------------------------------------------; + mov obj_table[ebp].stat,0 + mov stage_flag,CLEAR + jmp @@here + + +cos210: +;-----------> speed change [210,dlx,dly,dlz] +;-----------------------------------------; + mov ax,word ptr[esi + 2] + mov obj_table[ebp].dlx,ax + + mov ax,word ptr[esi + 4] + mov obj_table[ebp].dly,ax + + mov ax,word ptr[esi + 6] + mov obj_table[ebp].dlz,ax + + add obj_table[ebp].course,8 + jmp @@here + + +cos211: +cos212: +cos213: +cos214: +cos215: +cos216: +cos217: +cos218: +cos219: +cos220: +cos221: +cos222: +cos223: +cos224: +cos225: +cos226: +cos227: +cos228: +cos229: + +;--------- JUMP STYLE COURSE ------------------; +;----------------------------------------------; +cos230: +;------------> _GOTO [ 230,add ] +;----------------------------------------------; + mov eax,dword ptr[esi + 2] + + cmp obj_table[ebp].obj_no,100 + jae @@addskip1 + add eax,offset OBJ_DATA ;;;;;;;;;;;;;;;; +@@addskip1: + mov obj_table[ebp].course,eax + jmp @@rcos + +cos231: +;----------> Y_check [ 232,y,add1,add2,add3 ] +;---------------------------------------------- + movzx eax,word ptr[esi + 2] + cmp obj_table[ebp].y,ax + +@@jumpcheck: + jg SHORT @@sw3 + je SHORT @@sw2 +@@sw1: ;----------------------- + mov eax,dword ptr[esi + 4] + cmp obj_table[ebp].obj_no,100 + jae @@addskip2 + add eax,offset OBJ_DATA ;;;;;;;;;;;;;;;; +@@addskip2: + mov obj_table[ebp].course,eax + jmp @@rcos + +@@sw2: ;----------------------- + mov eax,dword ptr[esi + 8] + cmp obj_table[ebp].obj_no,100 + jae @@addskip3 + add eax,offset OBJ_DATA ;;;;;;;;;;;;;;;; +@@addskip3: + mov obj_table[ebp].course,eax + jmp @@rcos + +@@sw3: ;------------------------ + mov eax,dword ptr[esi + 12] + cmp obj_table[ebp].obj_no,100 + jae @@addskip4 + add eax,offset OBJ_DATA ;;;;;;;;;;;;;;;; +@@addskip4: + mov obj_table[ebp].course,eax + jmp @@rcos + +cos232: +;------> Z_check [232,z,add1,add2,add3] +;--------------------------------------; + movzx eax,word ptr[esi + 2] + cmp obj_table[ebp].z,ax + jmp @@jumpcheck + +cos233: +;------> status check [232,status,add1,add2,add3] +;------------------------------------------------; + movzx eax,word ptr[esi + 2] + cmp obj_table[ebp].stat,eax + jmp @@jumpcheck + +cos234: +;------> COPS X check [234,xrange,add1,add2,add3] +;--------------------------------------; + mov ax,word ptr[esi + 2] + mov bx,cops_x + add bx,eye_x + sub bx,160-20 + sub bx,obj_table[ebp].x + cmp bx,ax + jg @@sw3 + neg ax + cmp bx,ax + jge @@sw2 + jmp @@sw1 + +cos235: +;------> COPS Y check [234,xrange,add1,add2,add3] +;--------------------------------------; + mov ax,word ptr[esi + 2] + mov bx,cops_y + add bx,eye_y + sub bx,obj_table[ebp].y + cmp bx,ax + jg @@sw3 + neg ax + cmp bx,ax + jge @@sw2 + jmp @@sw1 + +cos236: +cos237: +cos238: +cos239: + +;-------------------------------------------; +;----- NORMAL COURSE -----------------------; +@@normal: + mov obj_table[ebp].spr_no,eax + add obj_table[ebp].course,8 +@@conti: + mov ax,word ptr[esi + 2] ; x + mov obj_table[ebp].dlx,ax + mov ax,word ptr[esi + 4] ; y + mov obj_table[ebp].dly,ax + mov ax,word ptr[esi + 6] ; z + mov obj_table[ebp].dlz,ax + +@@here: + dec ecx + jnz @@next +@@quit: + ret + +obj_course endp + +;---------------------------------------- +; +;---------------------------------------- +password proc + + mov esi,offset SYSPAL + call set_palette + + mov ecx,OBJNO * 64 / 4 ; object table clear + mov edi,offset obj_table ; + mov eax,1 ; + rep stosd ; + mov passtry,3 + +@@reinput: + mov keyboard[_ENTER],0 + mov key_edge[_UPKEY],0 + mov key_edge[_DNKEY],0 + mov key_edge[_LTKEY],0 + mov key_edge[_RTKEY],0 + + mov eax,20 + call rand + movzx eax,ax + mov passon,eax ; password table index + + mov passinput,0 + mov passinput+4,0 + mov passinput+8,0 + + mov passinputX,0 + + mov frames,0 +@@nextf: + call wait_vrt + + inc frames + + mov eax,31 ; gray color + call cleanC + + cmp keyboard[_ENTER],1 + je @@yess + + cmp key_edge[_UPKEY],1 + jne @@key1 + mov key_edge[_UPKEY],0 + mov eax,passinputX + sub passinput[eax*4],1 + jnc @@key1 + mov passinput[eax*4],30 +@@key1: + cmp key_edge[_DNKEY],1 + jne @@key2 + mov key_edge[_DNKEY],0 + mov eax,passinputX + add passinput[eax*4],1 + cmp passinput[eax*4],30 + jle @@key2 + mov passinput[eax*4],0 +@@key2: + cmp key_edge[_LTKEY],1 + jne @@key3 + mov key_edge[_LTKEY],0 + sub passinputX,1 + jmp @@key4 +@@key3: + cmp key_edge[_RTKEY],1 + jne @@key4 + mov key_edge[_RTKEY],0 + add passinputX,1 +@@key4: + + cmp passinputX,0 + jge @@skip1 + mov passinputX,0 +@@skip1: + cmp passinputX,2 + jle @@skip2 + mov passinputX,2 +@@skip2: + mov eax,passon + call pass_num + + mov eax,passinput + mov esi,cops_spr_data[eax*4] + mov eax,88 + mov edx,50 + call put_spr + + mov eax,passinput+4 + mov esi,cops_spr_data[eax*4] + mov eax,88+48 + mov edx,50 + call put_spr + + mov eax,passinput+8 + mov esi,cops_spr_data[eax*4] + mov eax,88+48*2 + mov edx,50 + call put_spr + + mov eax,frames + and eax,1 + mov esi,ien_spr_data[eax*4] + mov eax,passinputX + mov edx,48 + mul edx + add eax,93 + mov edx,100 + call put_spr + + call showp + + jmp @@nextf + +@@yess: + mov eax,passon + + mov bl,byte ptr[passinput] + cmp byte ptr[passtable][eax*4],bl + jne @@trial + mov bl,byte ptr[passinput+4] + cmp byte ptr[passtable][eax*4+1],bl + jne @@trial + mov bl,byte ptr[passinput+8] + cmp byte ptr[passtable][eax*4+2],bl + jne @@trial + jmp @@passOK + +@@trial: + dec passtry + jnz @@reinput + mov eax,-1 + jmp @@quit + +@@passOK: + mov pass_ok,1 + mov ecx,OBJNO * 64 / 4 ; object table clear + mov edi,offset obj_table ; + xor eax,eax ; + cld + rep stosd ; +@@quit: + ret + +password endp + +;--------------------------------- +; +;--------------------------------- +sprite proc + + mov ecx,OBJNO +@@next: + mov eax,ecx + dec eax + mov ebp,obj_ptr[eax * 4] + + cmp [ebp].stat,0 + jle @@here + + mov ax,[ebp].x + mov dx,[ebp].y + mov bx,[ebp].z + + call world2eye + + push edx ;Y + + imul persd ; eax : X + cdq + idiv ebx + mov edi,eax ; x + + pop eax ;Y + + imul persd ; eax : Y + cdq + idiv ebx + mov edx,eax ; y + mov eax,edi ; x + + add eax,160 + add edx,99-50 + +; cmp ebx,120 +; jge SHORT @@nchk +; mov [ebp].stat,0 +@@nchk: + cmp bx,[ebp].z_clip + jle SHORT @@tospr + mov [ebp].stat,0 + +@@tospr: + mov edi,[ebp].spr_no + cmp edi,256 + jge @@mirror1 + + mov esi,dword ptr[ebp].spr_data + mov esi,dword ptr[esi + edi * 4] + cmp [ebp].obj_no,100 + jae @@addskip1 + add esi,offset OBJ_DATA ;;;;;;;;;; +@@addskip1: + mov edi,1 + jmp @@nomirror + +@@mirror1: + and edi,255 + mov esi,dword ptr[ebp].spr_data + mov esi,dword ptr[esi + edi * 4] + cmp [ebp].obj_no,100 + jae @@addskip2 + add esi,offset OBJ_DATA ;;;;;;;;;; +@@addskip2: + xor edi,edi + +@@nomirror: + + push ecx + push ebp + mov ecx,[ebp].sfactor + cmp [ebp].spr_rt,0 + jne SHORT @@center + call put_sprS + jmp SHORT @@nocenter +@@center: + call put_sprSC +@@nocenter: + pop ebp + pop ecx + +@@here: + dec ecx + jnz @@next +@@quit: + ret + +sprite endp + +;--------------------------------- +; +;--------------------------------- +obj_ani proc + + mov ecx,OBJNO +@@next: + mov eax,ecx + dec eax + lea eax,[eax*8] + lea eax,[eax*8] + mov ebp,eax + + cmp obj_table[ebp].stat,0 + jle @@here + + mov ax,obj_table[ebp].dlx + add obj_table[ebp].x,ax + + mov ax,obj_table[ebp].dly + add obj_table[ebp].y,ax + + mov ax,obj_table[ebp].dlz + cmp obj_table[ebp].obj_no,300 + jae @@nodif1 + mov bx,dif + sub ax,bx + jmp @@nodif2 +@@nodif1: + cmp obj_table[ebp].obj_no,400 + jb @@nodif2 + mov bx,dif + sub ax,bx +@@nodif2: + add obj_table[ebp].z,ax + + cmp obj_table[ebp].z,120 + jge SHORT @@nchk + mov obj_table[ebp].stat,0 +@@nchk: + +@@here: + dec ecx + jnz @@next +@@quit: + ret + +obj_ani endp + +;--------------------------------- +; +;--------------------------------- +flm_ani proc + + mov ecx,5 +@@nflm: + mov eax,ecx + dec eax + lea eax,[eax*8] + lea eax,[eax*8] + mov ebp,eax + + cmp flm[ebp].stat,0 + jle @@here + + cmp flm[ebp].obj_no,200 + jne @@ntype1 + mov eax,9 +@@ntype1: + cmp flm[ebp].obj_no,201 + jne @@ntype2 + mov eax,12 +@@ntype2: + cmp flm[ebp].obj_no,202 + jne @@ntype3 + mov eax,4 +@@ntype3: + + add flm[ebp].spr_no,1 + cmp flm[ebp].spr_no,eax + jle @@incY + mov flm[ebp].stat,0 +@@incY: + +@@here: + dec ecx + cmp ecx,0 + jnz @@nflm +@@quit: + ret + +flm_ani endp + +;--------------------------------- +; +;--------------------------------- +blt_ani proc + + mov ecx,5 +@@next: + mov eax,ecx + dec eax + lea eax,[eax*8] + lea eax,[eax*8] + mov ebp,eax + + cmp blt[ebp].stat,0 + jle @@here + + cmp blt[ebp].obj_no,300 + jne @@ntype1 + mov eax,2 +@@ntype1: + cmp blt[ebp].obj_no,301 + jne @@ntype2 + mov eax,1 +@@ntype2: + + add blt[ebp].spr_no,1 + cmp blt[ebp].spr_no,eax + jle @@incY + mov blt[ebp].spr_no,0 +@@incY: + +@@here: + dec ecx + cmp ecx,0 + jnz @@next +@@quit: + ret + +blt_ani endp + +;------------------------------------------ +; cops animation +;------------------------------------------ +cops_ani PROC + + cmp copstat,0 ; standing + jne SHORT @@nstat1 + mov cops_spr_no,0 + jmp @@quit + ;------------------------------- +@@nstat1: + cmp copstat,1 ; running + jne SHORT @@nstat2 + + mov eax,cops_spr_no + cmp eax,1 + jb SHORT @@NOK + cmp eax,10 + jbe SHORT @@OK +@@NOK: + mov cops_spr_no,1 +@@OK: +; mov eax,frames +; and eax,1 +; add cops_spr_no,eax + add cops_spr_no,1 + cmp cops_spr_no,10 + jbe @@quit + mov cops_spr_no,1 + jmp @@quit + ;-------------------------- +@@nstat2: + cmp copstat,2 ; demage + jne SHORT @@nstat3 + + mov cops_spr_no,14 + mov eax,cops_spr_no + cmp eax,11 + jb SHORT @@NOK1 + cmp eax,14 + jbe SHORT @@OK1 +@@NOK1: + mov cops_spr_no,14 +@@OK1: + add cops_spr_no,1 + cmp cops_spr_no,14 + jbe @@quit + mov cops_spr_no,11 + jmp @@quit + ;--------------------------- +@@nstat3: + cmp copstat,3 ; left move + jne SHORT @@nstat4 + + mov eax,cops_spr_no + cmp eax,15 + jb SHORT @@NOK3 + cmp eax,17 + jbe SHORT @@OK3 +@@NOK3: + mov cops_spr_no,15 +@@OK3: +; mov eax,frames +; and eax,1 + add cops_spr_no,1 + cmp cops_spr_no,17 + jbe @@quit + mov cops_spr_no,17 + jmp @@quit + ;----------------------- +@@nstat4: + cmp copstat,4 ; right move + jne SHORT @@nstat5 + + mov eax,cops_spr_no + cmp eax,18 + jb SHORT @@NOK4 + cmp eax,20 + jbe SHORT @@OK4 +@@NOK4: + mov cops_spr_no,18 +@@OK4: +; mov eax,frames +; and eax,1 + add cops_spr_no,1 + cmp cops_spr_no,20 + jbe @@quit + mov cops_spr_no,20 + jmp @@quit + ;------------------------------- +@@nstat5: + ; sprite no 21 - 23 + cmp copstat,5 ; up move + jne SHORT @@nstat6 + + mov eax,cops_spr_no + cmp eax,21 + jb SHORT @@NOK5 + cmp eax,23 + jbe SHORT @@OK5 +@@NOK5: + mov cops_spr_no,21 +@@OK5: + mov eax,frames + and eax,1 + add cops_spr_no,eax + cmp cops_spr_no,23 + jbe @@quit + mov cops_spr_no,22 + jmp @@quit + ;------------------------------- +@@nstat6: + ; sprite no 24 - 26 + cmp copstat,6 ; down move + jne SHORT @@nstat7 + + mov eax,cops_spr_no + cmp eax,24 + jb SHORT @@NOK6 + cmp eax,26 + jbe SHORT @@OK6 +@@NOK6: + mov cops_spr_no,24 +@@OK6: + mov eax,frames + and eax,1 + add cops_spr_no,eax + cmp cops_spr_no,26 + jbe SHORT @@quit + mov cops_spr_no,25 + jmp SHORT @@quit + ;------------------------------- +@@nstat7: + ; sprite no 27 - 28 + cmp copstat,7 ; NORMAL + jne SHORT @@nstat8 + mov eax,frames + and eax,1 + add eax,27 + mov cops_spr_no,eax + jmp SHORT @@quit + ;------------------------------- +@@nstat8: + ; sprite no 29 - 30 + cmp copstat,8 ; fire + jne SHORT @@nstat9 + mov eax,frames +; shr eax,1 + and eax,1 + add eax,29 + mov cops_spr_no,eax + jmp SHORT @@quit + ;------------------------------- +@@nstat9: +@@quit: + ;------------------------------- + ;----- put sprite --------------- + cmp cops_on,0 + jle @@normalspr + dec cops_on + mov eax,frames + shr eax,1 + and eax,1 + je @@skipspr + jmp @@dospr +@@normalspr: + mov godmode,OFF +@@dospr: + mov eax,cops_spr_no + mov esi,dword ptr[cops_spr_data + eax * 4] + movsx eax,cops_x + movsx edx,cops_y + call put_spr +@@skipspr: + ;----------------------- + cmp shield,0 + jz @@out + + mov eax,frames +; shr eax,1 + and eax,1 + add eax,31 + mov esi,dword ptr[cops_spr_data + eax * 4] + mov ax,cops_x + add ax,-1 + movsx edx,cops_y + call put_spr + +@@out: + ret +cops_ani ENDP + +;--------------------------------------- +; beam vs object collision +;--------------------------------------- +collision proc + + mov ecx,BEAMNO +@@nbeam: + mov eax,ecx + dec eax + lea eax,[eax*8] + lea eax,[eax*8] + mov ebp,eax + + cmp beam[ebp].stat,0 + jle @@hereo + + push ecx + mov ecx,ENEMYNO +@@nenemy: + mov eax,ecx + dec eax + lea eax,[eax*8] + lea eax,[eax*8] + mov edi,eax + + cmp enemy[edi].stat,0 + jle @@herei + cmp enemy[edi].interaction,-1 + je @@herei + + cmp enemy[edi].sfactor,0 + jne @@scale + + mov ebx,enemy[edi].spr_data + mov eax,enemy[edi].spr_no + and eax,255 ; right left check + mov ebx,dword ptr[ebx][eax*4] ; mirror image + + cmp enemy[edi].obj_no,100 + jae @@addskip1 + add ebx,offset OBJ_DATA ;;;;;;;;;;;;;;;; +@@addskip1: + + mov ax,word ptr[ebx] + shr ax,1 + mov iix,ax + mov ax,word ptr[ebx+2] + shr ax,1 + mov iiy,ax + jmp @@skips +@@scale: + mov ebx,enemy[edi].spr_data + mov eax,enemy[edi].spr_no + and eax,255 + mov ebx,dword ptr[ebx][eax*4] + + cmp enemy[edi].obj_no,100 + jae @@addskip2 + add ebx,offset OBJ_DATA ;;;;;;;;;;;;;;;; +@@addskip2: + + mov ax,word ptr[ebx] +;; shr ax,1 + mov iix,ax + mov ax,word ptr[ebx+2] +;; shr ax,1 + mov iiy,ax +@@skips: + mov ax,enemy[edi].x + sub ax,beam[ebp].x + cmp ax,0 + jge @@plus1 + neg ax +@@plus1: + cmp ax,iix + ja @@nocoll + + mov ax,enemy[edi].y + cmp enemy[edi].spr_rt,1 + je @@center + sub ax,iiy +@@center: + sub ax,beam[ebp].y + cmp ax,0 + jge @@plus2 + neg ax +@@plus2: + cmp ax,iiy + ja @@nocoll + + mov ax,enemy[edi].z + sub ax,beam[ebp].z + cmp ax,0 + jge @@plus3 + neg ax +@@plus3: + cmp ax,40 + ja @@nocoll + +@@coll: + cmp enemy[edi].obj_no,500 + jae @@itemcoll + + cmp enemy[edi].interaction,1 + jne @@cflm + + mov eax,beam[ebp].stat + sub enemy[edi].stat,eax + +@@cflm: + mov beam[ebp].stat,0 + cmp enemy[edi].stat,0 + jle @@sflm + mov eax,2 + jmp SHORT @@yess +@@sflm: + movzx eax,enemy[edi].sco + shl eax,4 + add score,eax + xor eax,eax + cmp enemy[edi].y,0 + jl SHORT @@yess + mov eax,1 + +@@yess: + push edi + lea edi,enemy[edi] + lea ebx,beam[ebp] + call crea_flm + pop edi + jmp SHORT @@nocoll + +@@itemcoll: + mov beam[ebp].stat,0 + + cmp enemy[edi].obj_no,507 + jne SHORT @@nocoll + + mov eax,shield + mov Oshield,eax + mov shield,3 + + +@@nocoll: + +@@herei: + dec ecx + jnz @@nenemy + + pop ecx +@@hereo: + dec ecx + jnz @@nbeam +@@quit: + + ret +collision endp + +;--------------------------------------- +; cops VS enemy & bulllet +;--------------------------------------- +collision2 proc + + cmp godmode,ON + je @@quit + + mov ecx,ENEMYNO + BULLETNO +@@next: + mov eax,ecx + dec eax + lea eax,[eax*8] + lea eax,[eax*8] + mov ebp,eax + + cmp enemy[ebp].stat,0 + jle @@here + cmp enemy[ebp].interaction,-1 + je @@here + + cmp enemy[ebp].sfactor,0 + jne @@scale + + mov ebx,enemy[ebp].spr_data + mov eax,enemy[ebp].spr_no + and eax,255 + mov ebx,dword ptr[ebx][eax*4] + cmp enemy[ebp].obj_no,100 + jae @@addskip1 + add ebx,offset OBJ_DATA ;;;;;;;;;;;;;;; +@@addskip1: + mov ax,word ptr[ebx] + shr ax,1 + add ax,12 + mov iix,ax + mov ax,word ptr[ebx+2] + shr ax,1 + add ax,16 + mov iiy,ax + jmp SHORT @@skips +@@scale: + mov ebx,enemy[ebp].spr_data + mov eax,enemy[ebp].spr_no + and eax,255 + mov ebx,dword ptr[ebx][eax*4] + cmp enemy[ebp].obj_no,100 + jae SHORT @@addskip2 + add ebx,offset OBJ_DATA ;;;;;;;;;;;;;;; +@@addskip2: + mov ax,word ptr[ebx] +; shr ax,1 + add ax,12 + mov iix,ax + mov ax,word ptr[ebx+2] +; shr ax,1 + add ax,16 + mov iiy,ax +@@skips: + + mov ax,eye_x + add ax,cops_x + sub ax,160 - 24; 135 + + sub ax,enemy[ebp].x + cmp ax,0 + jge @@plus1 + neg ax +@@plus1: + cmp ax,iix + ja @@nocoll + + mov bx,enemy[ebp].y + cmp enemy[ebp].spr_rt,1 + je @@center + sub bx,iiy +@@center: + mov ax,eye_y + add ax,cops_y + sub ax,99-70 + sub ax,bx ; enemy[ebp].y + + cmp ax,0 + jge @@plus2 + neg ax +@@plus2: + cmp ax,iiy + ja @@nocoll + +; mov ax,eye_z +; add ax,128 + mov ax,128 + sub ax,enemy[ebp].z + cmp ax,0 + jge @@plus3 + neg ax +@@plus3: + cmp ax,20 + ja @@nocoll + +@@coll: +;;;;----------------------------------- + mov edx,enemy[ebp].stat + cmp edx,7 + jb @@skip7 + mov edx,7 +@@skip7: + cmp enemy[ebp].obj_no,300 + jl @@skipstat + mov enemy[ebp].stat,0 +@@skipstat: + + cmp enemy[ebp].obj_no,500 + jae @@itemcoll + + cmp shield,0 + jne @@skipen + mov eax,cops_energy + mov Ocops_energy,eax + sub cops_energy,edx + jnc @@skipz + mov cops_energy,0 + jmp @@skipz +@@skipen: + mov eax,shield + mov Oshield,eax + sub shield,1 + jnc SHORT @@skipz + mov shield,0 +@@skipz: + mov copstat,2 + mov eax,8 + movzx edx,word ptr[_l][eax*2] + mov eax,dword ptr[_vptr][eax*4] + call sayPCM_ + jmp @@nocoll + +;;;;----------------------------------- +@@itemcoll: + mov copstat,9 ; item collision + mov eax,7 + movzx edx,word ptr[_l][eax*2] + mov eax,dword ptr[_vptr][eax*4] + call sayPCM_ + + cmp enemy[ebp].obj_no,505 + jb @@item + + mov eax,enemy[ebp].obj_no + sub eax,505 + jmp item_routine[eax*4] + + +item505: ;; rounds + + xor eax,eax +@@nextwepon: + mov ebx,energy_add[eax*4] + add wepon_energy[eax*4],ebx + cmp wepon_energy[eax*4],999 + jbe SHORT @@nonormal + mov wepon_energy[eax*4],999 +@@nonormal: + inc eax + cmp eax,5 + jb SHORT @@nextwepon + + jmp @@nocoll + +item506: ;; energy + + mov eax,cops_energy + mov Ocops_energy,eax + add cops_energy,15 + cmp cops_energy,21 + jb @@nocoll + mov cops_energy,21 + + jmp SHORT @@nocoll + +item507: ;; shield + mov eax,shield + mov Oshield,eax + mov shield,3 + + jmp SHORT @@nocoll + +@@item: + mov eax,enemy[ebp].obj_no + sub eax,500 + mov ebx,energy_add[eax*4] + add wepon_energy[eax*4],ebx + cmp wepon_energy[eax*4],999 + jbe SHORT @@nocoll + mov wepon_energy[eax*4],999 + +@@nocoll: + +@@here: + dec ecx + jnz @@next +@@quit: + + ret + +collision2 endp + +;--------------------------------------- +; keyboard input & joystick +;--------------------------------------- +key_check proc + + mov cops_dx,0 + mov cops_dy,0 + +;JOYSTICK INPUT + cmp config.control1,1 ; joy + jb @@keychk + + mov al,Jxmask + call read_joy + cmp ax,JRTH + jbe SHORT @@ltchk + mov keyboard[_RTKEY],1 + jmp SHORT @@jychk +@@ltchk: + cmp ax,JLTH + ja @@nojx + mov keyboard[_LTKEY],1 + jmp SHORT @@jychk +@@nojx: + mov keyboard[_RTKEY],0 + mov keyboard[_LTKEY],0 + +@@jychk: + mov al,Jymask + call read_joy + cmp ax,JDTH + jb @@upchk + mov keyboard[_DNKEY],1 + jmp SHORT @@jbtn1chk +@@upchk: + cmp ax,JUTH + ja @@nojy + mov keyboard[_UPKEY],1 + jmp SHORT @@jbtn1chk +@@nojy: + mov keyboard[_DNKEY],0 + mov keyboard[_UPKEY],0 + +@@jbtn1chk: + mov al,Jbtn1 + call read_joy + cmp ax,1 + jne SHORT @@nobtn1 + mov keyboard[_CTRL],1 + jmp SHORT @@jbtn2chk +@@nobtn1: + mov keyboard[_CTRL],0 + +@@jbtn2chk: + mov al,Jbtn2 + call read_joy + cmp ax,1 + jne SHORT @@nobtn2 + cmp keyboard[_ALT],0 + jne SHORT @@noedge + mov key_edge[_ALT],1 +@@noedge: + mov keyboard[_ALT],1 + jmp SHORT @@keychk +@@nobtn2: + mov keyboard[_ALT],0 + +@@keychk: + ;KEYBOARD INPUT + + cmp keyboard[_UPKEY],1 ; UP key + jne SHORT @nextk1 + mov cops_dy,-4 + add eye_y,-5 + cmp eye_y,-200 + jge @nextk1 + mov eye_y,-200 +@nextk1: + + cmp keyboard[_DNKEY],1 ; DN key + jne SHORT @nextk2 + mov cops_dy,4 + add eye_y,5 + cmp eye_y,-100 + jle @nextk2 + mov eye_y,-100 +@nextk2: + + cmp keyboard[_LTKEY],1 ; LFT key + jne SHORT @nextk3 + mov cops_dx,-4 + add eye_x,-15 + cmp eye_x,-400+COPX + jge @@noeye1 + mov eye_x,-400+COPX +@@noeye1: + jmp @nextk4 + +@nextk3: + cmp keyboard[_RTKEY],1 ; RIT key + jne SHORT @nextk4 + mov cops_dx,4 + add eye_x,15 + cmp eye_x,400+COPX + jle @@noeye2 + mov eye_x,400+COPX +@@noeye2: + +@nextk4: + cmp key_edge[_F5],1 ; F5 key + jne SHORT @nextf6 + mov key_edge[_F5],0 + add hlrtno,4 + cmp hlrtno,8 + jbe @@skiphl + mov hlrtno,0 +@@skiphl: + mov ebx,hlrtno + mov eax,hline_routine[ebx] + mov hline,eax + +@nextf6: ; + cmp key_edge[_F6],1 ; F6 key vertical retrace + jne SHORT @nextf7 + mov key_edge[_F6],0 + add VertRetrace,1 + cmp VertRetrace,1 + jle @nextf7 + mov VertRetrace,0 + +@nextf7: + cmp keyboard[_F7],1 ; F7 key + jne SHORT @nextk8 + sub DelayTime,1 + cmp DelayTime,0 + jge @nextk8 + mov DelayTime,0 + +@nextk8: + cmp keyboard[_F8],1 ; F8 key + jne SHORT @@pause + add DelayTime,1 + cmp DelayTime,50 + jle @@pause + mov DelayTime,50 + +@@pause: + cmp key_edge[_P],1 ; P key + jne SHORT @nextk11 + mov key_edge[_P],0 +@@pause1: + cmp key_edge[_P],1 ; P key + jne SHORT @@pause1 + mov key_edge[_P],0 + +@nextk11: + cmp key_edge[_F11],1 ; F11 key + jne SHORT @nextk9 + mov key_edge[_F11],0 + add gammano,1 + cmp gammano,5 + jbe @@contigm + mov gammano,0 + mov esi,offset Pal + call set_palette + call init_palette + jmp @nextk9 +@@contigm: + mov ebx,gammano + dec ebx + mov edx,GAMMA[ebx * 4] + call gamma_correction + +@nextk9: + cmp key_edge[_ALT],1 ; Alt key + jne SHORT @nextk10 + mov key_edge[_ALT],0 + xor edx,edx + mov dx,[_l+2*11] + mov eax,[_vptr+4*11] + call sayPCM_ + add cops_wepon,1 + cmp cops_wepon,BEAMTYPENO - 1 + jbe @@skipw + mov cops_wepon,0 +@@skipw: + +@nextk10: + + ret + +key_check endp + +;----------------------------------------------------; +; read_joy(byte mask) ; +; al : mask +;----------------------------------------------------; +read_joy proc + + mov dx, 201h ;joystick port + mov ah, al ; mask + cmp ah, 0fh ;if btn check + ja button + + mov ecx,65536 ;65536 +loop1: + in al, dx ;wait until proper time + test al, ah ; + loopnz loop1 ; + + mov ecx,65536 ;65536 + xor al, al + out dx, al ; initialize port + + cli +loop2: + in al, dx ; time counting for x, y + test al, ah + loopnz loop2 + + sti + + xor ax, ax + sub ax, cx + + ret +button: + xor al, al + out dx, al ; port initialization + in al, dx + test al, ah + jz btn + + xor ax, ax + ret +btn: + mov ax, 1 + ret +read_joy endp + +;-------------------------------------------- +; +;-------------------------------------------- +stage proc + + mov frames,0 +@frame: + MOV ECX,-1 + CALL SETTIME + ; + inc frames ; increse frame counter + + call key_check + + cmp keyboard[_ESC],1 ; ESC key + jne SHORT @@skipesc + mov stage_flag,ESCAPE + jmp @fine +@@skipesc: + + mov ax,dif + add eye_z,ax +; call dirf + ; + cmp VertRetrace,1 + je @@skipvrt + call wait_vrt +@@skipvrt: + + call put_pic ; background + call draw_floor +; mov dif,0 + +;-------------------------------- +copstat_set: + + mov ax,cops_dx + add cops_x,ax + cmp cops_x,1 + jge @@ncops1 + mov cops_x,1 +@@ncops1: + cmp cops_x,319 - 42 + jle @@ncops2 + mov cops_x,319 - 42 +@@ncops2: + mov ax,cops_dy + add cops_y,ax + cmp cops_y,0 + jge @@ncops3 + mov cops_y,0 +@@ncops3: + cmp cops_y,104 + jle @@ncops4 + mov cops_y,104 +@@ncops4: + + mov copstat,1 ; running + + cmp dif,0 + jne SHORT @@nstat1 + mov copstat,0 ; standing +@@nstat1: + cmp cops_y,100 + jge @@nstat5 + mov copstat,7 ; buster +@@nstat6: + ; + cmp keyboard[48h],1 ; UP key + jne SHORT @@nstat2 + mov copstat,5 + jmp SHORT @@nstat3 + +@@nstat2: + cmp keyboard[50h],1 ; DN key + jne SHORT @@nstat3 + mov copstat,6 + ; +@@nstat3: + cmp keyboard[4Bh],1 ; LFT key + jne SHORT @@nstat4 + mov copstat,4 + jmp SHORT @@nstat5 +@@nstat4: + cmp keyboard[4Dh],1 ; RIT key + jne SHORT @@nstat5 + mov copstat,3 + +;;;;;;;; ; +@@nstat5: + cmp keyboard[_CTRL],1 ; fire CTRL key + jne SHORT @@nstat7 + cmp copstat,7 + jne @@fire + mov copstat,8 +@@fire: + mov eax,frames + and eax,1 + jz @@nstat7 + mov eax,cops_wepon + call crea_beam +@@nstat7: +;------------------------------------------- + call depth_sort + call sprite + + call read_enmap + +;item creation + mov eax,frames + and eax,5Fh + jnz @@skipship + mov eax,offset ship + mov dx,1024 + add dx,cops_x + call crea_obj +@@skipship: + + call collision + call collision2 + + call obj_course + + call turn2red + call turn2blue + + call obj_ani + call flm_ani + call blt_ani + + call cops_ani + + mov eax,cops_energy + cmp eax,Ocops_energy + je @@skipen + call energy_bar +@@skipen: + mov eax,shield + cmp eax,Oshield + je @@skipsld + call shield_bar +@@skipsld: + + call wepon + call wepon_num + call score_num + + cmp copstat,2 + jne @@skipdif + mov dif,-16 +@@skipdif: + ;DIF CHECK + cmp dif,SCROL + jle SHORT @conti1 + mov dif,SCROL +@conti1: + cmp dif,-20 + jge SHORT @conti2 + mov dif,-20 +@conti2: + + cmp cops_energy,0 + jne SHORT @@conti01 + mov stage_flag,DEAD + jmp @fine +@@conti01: + cmp stage_flag,CLEAR + jne SHORT @@conti3 + dec enddelay + jz @fine +@@conti3: + + add dif,4 + +; mov eax,DelayTime +; call waitmSec_ + + call showp + + XOR ECX,ECX + MOV ECX,DWORD PTR SAVE_CONT + CALL INTTIME + ; + jmp @frame + +@fine: + mov esc_on,OFF + + ret + +stage endp + +;------------------------------------- +; SFX sound device init. +;------------------------------------- +sound_init proc + + cmp config.sound,2 ; 0:none 1:adlib 2:SB 3:MT 4:GS + jb @@skipSB + + call SBLAutoDetect_ + cmp eax,1 + jne @@skipSB + mov ax,1 ;SB + call initVoice_ + mov eax,8000 + call setSampleRate_ + jmp @@gogo +@@skipSB: + mov eax,0 ;NO SOUND + call initVoice_ +@@gogo: + ret + +sound_init endp + +;------------------------------------------- +; +;------------------------------------------- +joystick_init proc + + cmp config.control1,1 + jb @@quit + cmp config.control1,1 + jne @@joyb +@@joya: + mov Jxmask,JAX ; mask setting + mov Jymask,JAY + mov Jbtn1,JABTN1 + mov Jbtn2,JABTN2 + + mov ax,config.jaxr + sub ax,config.jaxc + shr ax,1 ; C + (R - C)/4 = JRTH + add ax,config.jaxc + mov JRTH,ax + + mov ax,config.jaxc + mov JLTH,ax + sub ax,config.jaxl + shr ax,1 ; C - (C - L)/4 = JLTH + sub JLTH,ax + ; + mov ax,config.jayd + sub ax,config.jayc + shr ax,1 ; C + (D - C)/4 = JDTH + add ax,config.jayc + mov JDTH,ax + + mov ax,config.jayc + mov JUTH,ax + sub ax,config.jayu + shr ax,1 ; C - (C - U)/4 = JUTH + sub JUTH,ax + + jmp @@quit + +@@joyb: + mov Jxmask,JBX ; mask setting + mov Jymask,JBY + mov Jbtn1,JBBTN1 + mov Jbtn2,JBBTN2 + + mov ax,config.jbxr + sub ax,config.jbxc + shr ax,1 ; C + (R - C)/4 = JRTH + add ax,config.jbxc + mov JRTH,ax + + mov ax,config.jbxc + mov JLTH,ax + sub ax,config.jbxl + shr ax,1 ; C - (C - L)/4 = JLTH + sub JLTH,ax + ; + mov ax,config.jbyd + sub ax,config.jbyc + shr ax,1 ; C + (D - C)/4 = JDTH + add ax,config.jbyc + mov JDTH,ax + + mov ax,config.jbyc + mov JUTH,ax + sub ax,config.jbyu + shr ax,1 ; C - (C - U)/4 = JUTH + sub JUTH,ax + +@@quit: + ret + +joystick_init endp + + +;------------------------------------- +; stage initial +;------------------------------------- +stage_init proc + + mov eye_x,COPX + mov eye_y,-100 + mov eye_z,0 + + mov cops_x,160 - 20 + mov cops_y,104 + + mov cops_energy,15 + mov Oshield,1 + mov shield,0 + + mov boss_on,0 + mov enddelay,DELAY + mov obj_counter,0 + + mov ebx,stage_no + mov eax,maxobjdata[ebx*4] + mov maxobj,eax + + cmp stage_no,1 + jne @@clearobjtable +; cmp esc_on,ON +; jne @@skipclear +;; cmp pass_ok,1 +;; jne @@skipclear + +@@clearobjtable: + mov ecx,OBJNO * 64 / 4 ; object table clear + mov edi,offset obj_table ; + xor eax,eax ; + rep stosd ; +@@skipclear: + + ret + +stage_init endp + + + +;------------------------------- +; +;------------------------------- +energy_bar proc + + mov ecx,21 + mov eax,118 + mov edx,162 +@@next0: + mov esi,offset enbar0 + call put_spr + add eax,4 + loop @@next0 + + cmp cops_energy,0 + jg @@skipen + mov cops_energy,0 + ret +@@skipen: + mov ecx,cops_energy + mov eax,118 + mov edx,162 +@@next: + mov esi,offset enbar + call put_spr + add eax,4 + loop @@next + + ret + +energy_bar endp + +;------------------------------- +; +;------------------------------- +shield_bar proc + + mov ecx,3 + mov eax,118 + mov edx,174 +@@next0: + mov esi,offset sldbar0 + call put_spr + add eax,28 + loop @@next0 + + cmp shield,0 + je @@out + mov ecx,shield + mov eax,118 + mov edx,174 +@@next: + mov esi,offset sldbar + call put_spr + add eax,28 + loop @@next +@@out: + ret + +shield_bar endp + +;------------------------------- +; +;------------------------------- +player_no_bar proc + + mov eax,252 + mov edx,182 + xor ecx,ecx + mov cl,player_no +@@next: + mov esi,offset player_no_spr + call put_spr + add eax,6 + loop @@next + + ret + +player_no_bar endp + +;------------------------------- +; print selected wepon +;------------------------------- +wepon proc + + mov esi,offset panback + mov eax,230 + mov edx,159 + call put_spr + + mov eax,cops_wepon + lea eax,[eax*8] + lea eax,[eax*8] + mov esi,item_type[eax].spr_data + mov esi,dword ptr[esi] + mov eax,230 + mov edx,160 + call put_spr + + ret + +wepon endp + +;------------------------------- +; print wepon rounds +;------------------------------- +wepon_num proc + + mov esi,offset wnumback + mov eax,272 + mov edx,162 + call put_spr + + mov ebx,10 + mov eax,cops_wepon + mov eax,wepon_energy[eax * 4] + cdq + div ebx + mov [wnumber],edx + cdq + div ebx + mov [wnumber+4],edx + cdq + div ebx + mov [wnumber+8],edx + + mov eax,[wnumber+8] + mov esi,wnumber_spr[eax * 4] + mov eax,272 + mov edx,162 + call put_spr + + mov eax,[wnumber+4] + mov esi,wnumber_spr[eax * 4] + mov eax,272+7 + mov edx,162 + call put_spr + + mov eax,[wnumber] + mov esi,wnumber_spr[eax * 4] + mov eax,272+14 + mov edx,162 + call put_spr + + + ret + +wepon_num endp + +;------------------------------- +; print password page +; eax : page number +;------------------------------- +pass_num proc + + inc eax + mov ebx,10 + cdq + div ebx + mov [wnumber],edx + cdq + div ebx + mov [wnumber+4],edx + + mov eax,[wnumber+4] + mov esi,wnumber_spr[eax * 4] + mov eax,153 + mov edx,30 + call put_spr + + mov eax,[wnumber] + mov esi,wnumber_spr[eax * 4] + mov eax,153+7 + mov edx,30 + call put_spr + + + ret + +pass_num endp + +;------------------------------- +; print score +;------------------------------- +score_num proc + + mov esi,offset snumback + mov eax,162 + mov edx,192 + call put_spr + + mov ebx,10 + mov eax,score + cdq + div ebx + mov [snumber],edx ; 0 + cdq + div ebx + mov [snumber+4],edx ; 1 + cdq + div ebx + mov [snumber+8],edx ; 2 + cdq + div ebx + mov [snumber+12],edx ; 3 + cdq + div ebx + mov [snumber+16],edx ; 4 + cdq + div ebx + mov [snumber+20],edx ; 5 + cdq + div ebx + mov [snumber+24],edx ; 6 + cdq + div ebx + mov [snumber+28],edx ; 7 + ;---------------------------------; + mov eax,[snumber+28] + mov esi,snumber_spr[eax * 4] + mov eax,162 + mov edx,192 + call put_spr + + mov eax,[snumber+24] + mov esi,snumber_spr[eax * 4] + mov eax,162+6 + mov edx,192 + call put_spr + + mov eax,[snumber+20] + mov esi,snumber_spr[eax * 4] + mov eax,162+6*2 + mov edx,192 + call put_spr + + mov eax,[snumber+16] + mov esi,snumber_spr[eax * 4] + mov eax,162+6*3 + mov edx,192 + call put_spr + + mov eax,[snumber+12] + mov esi,snumber_spr[eax * 4] + mov eax,162+6*4 + mov edx,192 + call put_spr + + mov eax,[snumber+8] + mov esi,snumber_spr[eax * 4] + mov eax,162+6*5 + mov edx,192 + call put_spr + + mov eax,[snumber+4] + mov esi,snumber_spr[eax * 4] + mov eax,162+6*6 + mov edx,192 + call put_spr + + mov eax,[snumber] + mov esi,snumber_spr[eax * 4] + mov eax,162+6*7 + mov edx,192 + call put_spr + + + ret + +score_num endp + +;------------------------------------------ +; print frames per second ( in TEXT mode) +;------------------------------------------ +print_fps proc + + mov eax,dword ptr[Tend] + sub eax,dword ptr[Tstart] + mov ebx,5 + mul ebx + mov ebx,91 ;18.2 * 5 + div ebx + mov ebx,eax + mov eax,frames + cdq + div ebx + mov ebx,10 + cdq + div ebx + mov [fps],dl + cdq + div ebx + mov [fps+1],dl + ; + mov ah,0eh + mov al,[fps+1] + add al,30h + mov bh,0 + int 10h + ; + mov ah,0eh + mov al,[fps] + add al,30h + mov bh,0 + int 10h + ret + +print_fps endp + +opening proc + ret +opening endp + +;---------------------------------------- +; main menu +;---------------------------------------- +main_menu proc + push dword ptr[Tstart] + push dword ptr[Tend] + +@@start: + call MENU_MUSIC + call PLAY_MUSIC + mov key_edge[48h],0 + mov key_edge[50h],0 + mov keyboard[_ENTER],0 + + call screen_off + mov esi,offset PCX_name00 ; menu.pcx + call load_put_PCX + + mov esi,offset PCX_name02 ; menu-txt.pcx + call load_put_SPR + + call screen_on + + mov Menu,0 + mov oMenu,1 + + mov esi,[_menu1] + mov eax,187 + mov edx,37 + call put_spr + + add edx,30 + mov esi,[_menu0 + 4] + call put_spr + + add edx,30 + mov esi,[_menu0 + 8] + call put_spr + + mov ah,0 ;read system clock ticks + int 1Ah ; + mov word ptr[Tstart+2],cx ; + mov word ptr[Tstart],dx ; +@@rpt: + cmp key_edge[48h],1 ; UP key + jne SHORT @@nextk1 + mov key_edge[48h],0 + mov eax,Menu + mov oMenu,eax + sub Menu,1 + jnc @@nextk1 + mov Menu,2 +@@nextk1: + cmp key_edge[50h],1 ; DN key + jne SHORT @@nextk2 + mov key_edge[50h],0 + mov eax,Menu + mov oMenu,eax + add Menu,1 + cmp Menu,3 + jb SHORT @@nextk2 + mov Menu,0 +@@nextk2: + + cmp keyboard[_ENTER],1 ; ENTER key + jne SHORT @@nextk3 + call STOP_MUSIC + + pop dword ptr[Tend] + pop dword ptr[Tstart] + ret + +@@nextk3: + mov ebx,oMenu + mov esi,_menu0[ebx*4] + mov eax,187 + mov edx,37 + imul ebx,30 + add edx,ebx + call put_spr + + mov ebx,Menu + mov esi,_menu1[ebx*4] + mov eax,187 + mov edx,37 + imul ebx,30 + add edx,ebx + call put_spr + + mov ah,0 ; read clock ticks + int 1Ah ; + mov word ptr[Tend+2],cx ; + mov word ptr[Tend],dx ; + + mov eax,dword ptr [Tend] + sub eax,dword ptr [Tstart] + cmp eax,11 * 18 + jb @@rpt + + mov Menu,-1 + + call STOP_MUSIC + + pop dword ptr[Tend] + pop dword ptr[Tstart] + + ret + +main_menu endp + +ending proc + ret +ending endp + +;=========================================================================== + +;-------------------------------------- +; MAIN procdure called from START.C +;-------------------------------------- + public start_ + +start_ proc near + + push ds + push es + push eax + push ebx + push ecx + push edx + push esi + push edi + push ebp + + mov stage_no,0 ; eax + + call load_cfg + call sound_init + call joystick_init + + call MakeSqrTable + +; mov ah,09h +; mov edx,offset message00 ; "Press any key to start.." +; int 21h + +; mov ah,08h ; get key +; int 21h + + call SET_SYX ; music drive init + call keyint_on ;install key interrupt handler +@@sog: + mov player_no,5 ; + call OPENING + + call xmode +@@menu: + mov StartOffset,0 + mov PageOffset,0 + call clean + call set_startP + call main_menu + + call showp + cmp Menu,1 ; help + je @@help + cmp Menu,2 ; quit + je @@eog + cmp Menu,-1 ; no key input + je @@sog + jmp SHORT @@nextstage +;--------------------------------------------- +@@help: + call clean + call screen_off + mov esi,offset PCX_name01 ; help.grp + call load_put_PCX + call showp + call screen_on +@@mloop: + cmp keyboard[_ESC],1 + je @@menu + jmp @@mloop +;--------------------------------------------- +@@nextstage: +;; push ebx + +;;; call password + + mov ax,13h ; inter visiual play + int 10h ; + mov eax,stage_no ; + call INTERVIZ ; + call xmode ; + +;; pop ebx + + cmp stage_no,1 + jne @@skippass + cmp esc_on,ON + je @@skippass +;; cmp pass_ok,1 +;; je @@skippass +;; xor eax,eax +;; call ebx ; call password +;; cmp eax,-1 +;; je @@eog +@@skippass: + +@@deadrestart: + mov eax,stage_no ; stage music setting + call STAGE_MUSIC ; + + mov stage_flag,DEAD + + call stage_init + call load_map + + mov eax,12 + movzx edx,word ptr[_l][eax*2] + mov eax,dword ptr[_vptr][eax*4] + call sayPCM_ + + call screen_off + + mov esi,offset Pal + call set_palette + call init_palette + + mov ebx,gammano + cmp ebx,0 + je @@skipgm + dec ebx + mov edx,GAMMA[ebx * 4] + call gamma_correction +@@skipgm: + + call screen_on + + call keep_pic + call panspr + call copspr + call init_obj_ptr + mov dif,SCROL + + call PLAY_MUSIC + +@@startstage: + mov PageOffset,0 + call clean + mov eax,0 ; x + mov edx,150 ; y + mov esi,offset PANNEL ; + call put_spr + call player_no_bar + + mov PageOffset,4000h + mov eax,0 + mov edx,150 + mov esi,offset PANNEL ; + call put_spr + call player_no_bar + +; mov ah,0 ;read system clock ticks +; int 1Ah ; +; mov word ptr[Tstart+2],cx ; +; mov word ptr[Tstart],dx ; + + call stage + ; +; mov ah,0 +; int 1Ah +; mov word ptr[Tend+2],cx +; mov word ptr[Tend],dx + + cmp stage_flag,DEAD + jne SHORT @@chkclear + + ;------------- + ; player DEAD + ;------------- + call STOP_MUSIC + call OVER_MUSIC + + dec player_no + jz @@endg + + mov eye_x,COPX + mov eye_y,-100 + + mov cops_energy,15 + mov cops_x,160 - 20 + mov cops_y,104 + + mov Oshield,1 + mov shield,0 + mov cops_on,COPSON + mov godmode,ON + +;; jmp @@startstage +;; jmp @@nextstage + jmp @@deadrestart + +@@chkclear: + cmp stage_flag,CLEAR + jne @@esc ; + jmp @@clear + +@@esc: + ;-------------------- + ; ESC + ;-------------------- + call STOP_MUSIC + mov esc_on,ON + jmp @@menu + +@@clear: + ;------------- + ;stage CLEAR + ;------------- + call STOP_MUSIC + + add score,50000 +;; cmp stage_no,0 +;; jne @@skipEBX +;; xor eax,eax +;; mov ebx,offset password +@@skipEBX: + + inc stage_no + cmp stage_no,7 + jb @@nextstage + +@@endg: + + call ending + mov stage_no,0 + mov player_no,5 ; + mov wepon_energy,999 + mov wepon_energy +4,100 + mov wepon_energy +8,0 + mov wepon_energy+12,0 + mov wepon_energy+16,0 + mov cops_wepon,0 + mov score,0 + + jmp @@menu + +;------------------------------ +;------------------end of game: +@@eog: + call keyint_off + call save_cfg + + mov ax,03h ;text mode + int 10h + +;; call print_fps + + pop ebp + pop edi + pop esi + pop edx + pop ecx + pop ebx + pop eax + pop es + pop ds + + ret + +start_ endp + +_TEXT ends + + END + diff --git a/IZMIR.BIN b/IZMIR.BIN new file mode 100644 index 0000000..9dd03a4 Binary files /dev/null and b/IZMIR.BIN differ diff --git a/IZMIR.CFG b/IZMIR.CFG new file mode 100644 index 0000000..ecaec12 Binary files /dev/null and b/IZMIR.CFG differ diff --git a/IZ_DEMO1.ASM b/IZ_DEMO1.ASM new file mode 100644 index 0000000..5c25aa6 --- /dev/null +++ b/IZ_DEMO1.ASM @@ -0,0 +1,1646 @@ + ;====================================== + ; IZ_DEMO.ASM (IZMIR DEMO) + ; DOS/4GW 386 DOS extender + ; 1995. 4. 30 + ; coded by JEONG, JAE-SEONG + ; + ; Movie Flic File Player + ; BGM Player + ; + ; (c) Mirinae Software, Inc. + ; License : Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. + ;====================================== + + .386 + + LOCALS + +_DATA SEGMENT DWORD USE32 PUBLIC 'DATA' + + ; +PUBLIC SAVE_CONT +_INT0F0H EQU 0F0H + ; +INST_LOAD: +MUSIC_MODEL: DB 04 ;0 +SPEED: DB 00 +JOSTICK0: DB 00 +JOSTICK1: DB 00 + ; +JOYX0: DW 1400,850,000 +JOYY0: DW 1400,850,000 +JOYX1: DW 1400,850,000 +JOYY1: DW 1400,850,000 + DW 00,00,00 + DW 00,00,00 +INSTALL: DB 'CONFIG.DAT',00 + ; + ; + ; +SAVE_CONT: DD 00 +VOLUME: DB 00 +STACK_OFF: DD 00 +STACK_SEG: DW 00 +FILE_FLI: DD 00 +CBUF: DD 00 +SAVEINT: DD 00 +ERRDAT: DB 00 +HANDLE: DW 00 +LENTH: DD 00 +BUFFER0: DD 00 +BUFFER1: DD 00 +BUFFER2: DD 00 +; KEYDAT0: DB 00 +ALTKEY: DB 01 +ALT_JMP: DD 00 +ALT_JMP1: DD 00 +TIME0: DD 00 +BL_PLAY: DB 00 +VOC_ADD: DD 00 +LENTH_ADD: DD 00 +MUSIC_LOOP: DB 00 + ; +SEG_MEM: DW 00 + +REG_BLK STRUC + _EDI DD 00000H ;EDI + _ESI DD 00000H ;ESI + _EBP DD 00000H ;EBP + _000 DD 00000H ;000 + _EBX DD 00000H ;EBX + _EDX DD 00000H ;EDX + _ECX DD 00300H ;ECX + _EAX DD 00001H ;EAX + _FLAGS DW 00000H ;FLAGS + _ES DW 0A000H ;ES + _DS DW 06000H ;DS + _FS DW 00000H ;FS + _GS DW 00000H ;GS + _IP DW 00000H ;IP + _CS DW 00000H ;CS + _SP DW 00000H ;SP + _SS DW 00000H ;SS +REG_BLK ENDS + +REG_BLK01 REG_BLK < > + +LOG_FILE: + DB 'MIRE .GRP',00,72H +MIRINAE_NU EQU (MIRINAE1 - MIRINAE)/14 +MIRINAE: +; DB 'B01 .GRP',00,72H +; DB 'B02 .GRP',00,72H +; DB 'B03 .GRP',00,72H +; DB 'B04 .GRP',00,72H + DB 'A1 .GRP',00,50H + DB 'A2 .GRP',00,50H + DB 'C01 .GRP',00,0A0H +; DB 'C02 .GRP',00,72H + DB 'A3 .GRP',00,72H + DB 'A4 .GRP',00,72H + DB 'A5 .GRP',00,72H + DB 'A6 .GRP',00,72H + DB 'A7 .GRP',00,72H + DB 'A8 .GRP',00,72H +MIRINAE1: + +STAGE_FLI: + DB 'NEW2 .GRP',00,72H + DB 'NEW3 .GRP',00,72H + DB 'NEW1 .GRP',00,72H + DB 'NEW4 .GRP',00,72H + DB 'NEW5 .GRP',00,72H + DB 'NEW6 .GRP',00,72H + DB 'E1 .GRP',00,72H + ; +OVER_FLI: + DB 'EXIT .GRP',00,72H + ; + ; + +MUS_LEN EQU 14 + +OPEN_MUSIC_FILE: + DB 'A-I-PROL.MUE',00,00 + DB 'A-I-PROL.MUE',00,00 + DB 'A-I-PROL.MUE',00,00 + DB 'S-I-PROL.MUE',00,00 + DB 'S-I-PROL.MUE',00,00 +MENU_MUSIC_FILE: + DB 'A-I-MENU.MUE',00,00 + DB 'A-I-MENU.MUE',00,00 + DB 'A-I-MENU.MUE',00,00 + DB 'S-I-MENU.MUE',00,00 + DB 'S-I-MENU.MUE',00,00 +OVER_MUSIC_FILE: + DB 'A-I-OVER.MUE',00,00 + DB 'A-I-OVER.MUE',00,00 + DB 'A-I-OVER.MUE',00,00 + DB 'S-I-OVER.MUE',00,00 + DB 'S-I-OVER.MUE',00,00 +STAGE_MUSIC_FILE: + ; 1 + DB 'A-I-S1 .MUE',00,00 + DB 'A-I-S1 .MUE',00,00 + DB 'A-I-S1 .MUE',00,00 + DB 'S-I-S1 .MUE',00,00 + DB 'S-I-S1 .MUE',00,00 + ; 2 + DB 'A-I-S2 .MUE',00,00 + DB 'A-I-S2 .MUE',00,00 + DB 'A-I-S2 .MUE',00,00 + DB 'S-I-S2 .MUE',00,00 + DB 'S-I-S2 .MUE',00,00 + ; 3 + DB 'A-I-S3 .MUE',00,00 + DB 'A-I-S3 .MUE',00,00 + DB 'A-I-S3 .MUE',00,00 + DB 'S-I-S3 .MUE',00,00 + DB 'S-I-S3 .MUE',00,00 + ; 4 + DB 'A-I-S4 .MUE',00,00 + DB 'A-I-S4 .MUE',00,00 + DB 'A-I-S4 .MUE',00,00 + DB 'S-I-S4 .MUE',00,00 + DB 'S-I-S4 .MUE',00,00 + ; 5 + DB 'A-I-S5 .MUE',00,00 + DB 'A-I-S5 .MUE',00,00 + DB 'A-I-S5 .MUE',00,00 + DB 'S-I-S5 .MUE',00,00 + DB 'S-I-S5 .MUE',00,00 + ; 6 + DB 'A-I-S6 .MUE',00,00 + DB 'A-I-S6 .MUE',00,00 + DB 'A-I-S6 .MUE',00,00 + DB 'S-I-S6 .MUE',00,00 + DB 'S-I-S6 .MUE',00,00 + ; 7 + DB 'A-I-STAF.MUE',00,00 + DB 'A-I-STAF.MUE',00,00 + DB 'A-I-STAF.MUE',00,00 + DB 'S-I-STAF.MUE',00,00 + DB 'S-I-STAF.MUE',00,00 + ; + ; +END_MUSIC_FILE: + DB 'A-I-END .MUE',00,00 + DB 'A-I-END .MUE',00,00 + DB 'A-I-END .MUE',00,00 + DB 'S-I-END .MUE',00,00 + DB 'S-I-END .MUE',00,00 + +GS_SYN1: DB 'GS-RESET.SYX',00,00 +GS_SYN2: DB 'GS-HALL1.SYX',00,00 +MT_SYN1: DB 'MT-RESET.SYX',00,00 +MT_SYN2: DB 'MT-GM1 .SYX',00,00 +MT_SYN3: DB 'MT-GM2 .SYX',00,00 + +_DATA ENDS + +_BSS SEGMENT DWORD USE32 PUBLIC 'BSS' + +EXTRN keyboard +KEYDAT0 equ keyboard+39h +EXTRN pcx_buffer0 +LOAD_MEMORY EQU pcx_buffer0 + +_BSS ENDS + + + +DGROUP GROUP _DATA,_BSS ;,_STACK + +_TEXT SEGMENT DWORD USE32 PUBLIC 'CODE' + ASSUME CS:_TEXT,DS:DGROUP,ES:DGROUP +extrn xmode:near +PUBLIC SET_SYX +PUBLIC STAGE_MUSIC +PUBLIC MENU_MUSIC +PUBLIC OVER_MUSIC +PUBLIC END_MUSIC +PUBLIC OPENING +PUBLIC PLAY_MUSIC +PUBLIC STOP_MUSIC +PUBLIC SETTIME +PUBLIC INTTIME +PUBLIC INTERVIZ + ; + ; + ; + ; + ; +SET_SYX: + MOV EBX,1000H ;SEG 1000H = ADDRESS 10000H + CALL REAL_MEM_PRG ;REAL MEMORY ALLOCATION + MOV EDX,OFFSET INSTALL + MOV ESI,OFFSET INST_LOAD + CALL DKREAD + CALL DELAY_TIME + ; + CALL RESET_MUSIC + XOR EAX,EAX + MOV AL,BYTE PTR MUSIC_MODEL + SHL EAX,2 + MOV EBP,OFFSET SET_SYX000 + ADD EBP,EAX + CALL CS:[EBP] + RET + +SET_SYX000: + DD NON_000 + DD ADLIB_000 + DD ADLIB_000 + DD MT_000 + DD GS_000 + ; + ; + +NON_000: +ADLIB_000: + RET + +MT_000: + MOV ESI,OFFSET LOAD_MEMORY+65536 + MOV EDX,OFFSET MT_SYN1 + CALL DKREAD + MOV ECX,DWORD PTR LENTH + CALL SEND_EX + ; + MOV ESI,OFFSET LOAD_MEMORY+65536 + MOV EDX,OFFSET MT_SYN2 + CALL DKREAD + MOV ECX,DWORD PTR LENTH + CALL SEND_EX + ; + MOV ESI,OFFSET LOAD_MEMORY+65536 + MOV EDX,OFFSET MT_SYN3 + CALL DKREAD + MOV ECX,DWORD PTR LENTH + CALL SEND_EX + RET + +GS_000: + MOV ESI,OFFSET LOAD_MEMORY+65536 + MOV EDX,OFFSET GS_SYN1 + CALL DKREAD + MOV ECX,DWORD PTR LENTH + CALL SEND_EX + ; + MOV ESI,OFFSET LOAD_MEMORY+65536 + MOV EDX,OFFSET GS_SYN2 + CALL DKREAD + MOV ECX,DWORD PTR LENTH + CALL SEND_EX + RET + +STAGE_MUSIC: ;; stage music setting + MOV AH,14*5 + MUL AH + MOV ECX,EAX + ; + XOR EAX,EAX + MOV AL,BYTE PTR MUSIC_MODEL + MOV AH,14 + MUL AH + MOV ESI,OFFSET LOAD_MEMORY+65536+8000H + MOV EDX,OFFSET STAGE_MUSIC_FILE + ADD EDX,EAX + ADD EDX,ECX + CALL DKREAD + MOV ESI,OFFSET LOAD_MEMORY+65536+8000H + MOV EDI,OFFSET LOAD_MEMORY+65536 + CALL LZEXE + SUB EDI,OFFSET LOAD_MEMORY+65536 + MOV ECX,EDI + MOV ESI,OFFSET LOAD_MEMORY+65536 + CALL MOVE_PRO_REAL + MOV AL,2 ;2 -> LOOP, 3 -> ONE PLAY + MOV BYTE PTR MUSIC_LOOP,AL + CALL SET_MUSIC + + RET + +INTERVIZ: + PUSH EAX + ; + MOV ECX,-1 + CALL SETTIME + ; + POP EAX + MOV AH,14 + MUL AH + MOV EDX,OFFSET STAGE_FLI + ADD EDX,EAX + XOR ECX,ECX + MOV CL,[EDX+13] ;072H + MOV DWORD PTR TIME0,ECX + MOV DWORD PTR FILE_FLI,EDX + CALL FLI_FILE_RUN + CALL VRAMCLS00 + RET + ; + ; + ; + ; +MENU_MUSIC: + MOV AL,BYTE PTR MUSIC_MODEL + MOV AH,14 + MUL AH + MOV ESI,OFFSET LOAD_MEMORY+65536+8000H + MOV EDX,OFFSET MENU_MUSIC_FILE + ADD EDX,EAX + CALL DKREAD + MOV ESI,OFFSET LOAD_MEMORY+65536+8000H + MOV EDI,OFFSET LOAD_MEMORY+65536 + CALL LZEXE + SUB EDI,OFFSET LOAD_MEMORY+65536 + MOV ECX,EDI + MOV ESI,OFFSET LOAD_MEMORY+65536 + CALL MOVE_PRO_REAL + MOV AL,2 ;2 -> LOOP, 3 -> ONE PLAY + MOV BYTE PTR MUSIC_LOOP,AL + CALL SET_MUSIC + RET + ; + ; + ; + ; +OVER_MUSIC: + MOV AX,13H + INT 10H + ; + CLI + MOV AX,SS + MOV WORD PTR STACK_SEG,AX + MOV EAX,ESP + MOV DWORD PTR STACK_OFF,EAX + STI + XOR EAX,EAX + MOV AL,BYTE PTR MUSIC_MODEL + MOV AH,14 + MUL AH + MOV ESI,OFFSET LOAD_MEMORY+65536+8000H + MOV EDX,OFFSET OVER_MUSIC_FILE + ADD EDX,EAX + CALL DKREAD + MOV ESI,OFFSET LOAD_MEMORY+65536+8000H + MOV EDI,OFFSET LOAD_MEMORY+65536 + CALL LZEXE + SUB EDI,OFFSET LOAD_MEMORY+65536 + MOV ECX,EDI + MOV ESI,OFFSET LOAD_MEMORY+65536 + CALL MOVE_PRO_REAL + ; + MOV AL,3 ;2 -> LOOP, 3 -> ONE PLAY + MOV BYTE PTR MUSIC_LOOP,AL + CALL SET_MUSIC + MOV ECX,-1 + CALL SETTIME + CALL PLAY_MUSIC + ; + MOV AL,0 + MOV BYTE PTR ALTKEY,AL + MOV EAX,OFFSET OVER_END + MOV DWORD PTR ALT_JMP,EAX + ; + MOV ECX,5 +OVER_MUSIC01: + PUSH ECX + MOV EDX,OFFSET OVER_FLI + XOR ECX,ECX + MOV CL,[EDX+13] ;072H + MOV DWORD PTR TIME0,ECX + MOV DWORD PTR FILE_FLI,EDX + CALL FLI_FILE_RUN + POP ECX + LOOP OVER_MUSIC01 + ; +OVER_END: + MOV AL,1 + MOV BYTE PTR ALTKEY,AL + CLI + MOV AX,WORD PTR STACK_SEG + MOV SS,AX + MOV EAX,DWORD PTR STACK_OFF + MOV ESP,EAX + STI + CALL VRAMCLS00 + CALL STOP_MUSIC + CALL xmode + RET + ; + ; + ; + ; +END_MUSIC: + MOV AL,BYTE PTR MUSIC_MODEL + MOV AH,14 + MUL AH + MOV ESI,OFFSET LOAD_MEMORY+65536+8000H + MOV EDX,OFFSET END_MUSIC_FILE + ADD EDX,EAX + CALL DKREAD + MOV ESI,OFFSET LOAD_MEMORY+65536+8000H + MOV EDI,OFFSET LOAD_MEMORY+65536 + CALL LZEXE + SUB EDI,OFFSET LOAD_MEMORY+65536 + MOV ECX,EDI + MOV ESI,OFFSET LOAD_MEMORY+65536 + CALL MOVE_PRO_REAL + MOV AL,2 ;2 -> LOOP, 3 -> ONE PLAY + MOV BYTE PTR MUSIC_LOOP,AL + CALL SET_MUSIC + RET + ; + ; + ; + ; + ; +OPENING: + MOV AX,13H + INT 10H + ; + CLI + MOV AX,SS + MOV WORD PTR STACK_SEG,AX + MOV EAX,ESP + MOV DWORD PTR STACK_OFF,EAX + STI + ; + XOR EAX,EAX + MOV AL,BYTE PTR MUSIC_MODEL + MOV AH,14 + MUL AH + MOV ESI,OFFSET LOAD_MEMORY+65536+8000H + MOV EDX,OFFSET OPEN_MUSIC_FILE + ADD EDX,EAX + CALL DKREAD + MOV ESI,OFFSET LOAD_MEMORY+65536+8000H + MOV EDI,OFFSET LOAD_MEMORY+65536 + CALL LZEXE + ; + SUB EDI,OFFSET LOAD_MEMORY+65536 + MOV ECX,EDI + MOV ESI,OFFSET LOAD_MEMORY+65536 + CALL MOVE_PRO_REAL + ; + MOV ECX,-1 + CALL SETTIME + MOV EDX,OFFSET LOG_FILE + XOR ECX,ECX + MOV CL,[EDX+13] ;072H + MOV DWORD PTR TIME0,ECX + MOV DWORD PTR FILE_FLI,EDX + CALL FLI_FILE_RUN + CALL VRAMCLS00 + ; + ; + ; + MOV AL,3 ;2 -> LOOP, 3 -> ONE PLAY + MOV BYTE PTR MUSIC_LOOP,AL + CALL SET_MUSIC + MOV ECX,-1 + CALL SETTIME + CALL PLAY_MUSIC + ; + MOV AL,0 + MOV BYTE PTR ALTKEY,AL + MOV EAX,OFFSET OPEN_END + MOV DWORD PTR ALT_JMP,EAX + ; + MOV ECX,MIRINAE_NU + MOV EDX,OFFSET MIRINAE +MAIN_000: + PUSH ECX + PUSH EDX + XOR ECX,ECX + MOV CL,[EDX+13] ;072H + MOV DWORD PTR TIME0,ECX + MOV DWORD PTR FILE_FLI,EDX + CALL FLI_FILE_RUN + POP EDX + POP ECX + CMP ECX,1 + JZ MAIN_001 + PUSH ECX + PUSH EDX + CALL VRAMCLS00 + POP EDX + POP ECX + ADD EDX,14 + LOOP MAIN_000 +MAIN_001: + MOV ECX,1164*2 + CALL INT_TIME0 +MAIN_002: +OPEN_END: + MOV AL,1 + MOV BYTE PTR ALTKEY,AL + CLI + MOV AX,WORD PTR STACK_SEG + MOV SS,AX + MOV EAX,DWORD PTR STACK_OFF + MOV ESP,EAX + STI + CALL VRAMCLS00 + CALL STOP_MUSIC + CALL xmode + RET + ; + ; + ; + ; + ; + ; + ; + ; + ; + ; + ; +FLI_FILE_RUN: +JSP21: + MOV EDX,DWORD PTR FILE_FLI + CALL OPENFILE + ; + CLI + MOV EAX,DWORD PTR ALT_JMP + MOV DWORD PTR ALT_JMP1,EAX + MOV EAX,OFFSET JSP_END + MOV DWORD PTR ALT_JMP,EAX + STI + ; + MOV ESI,OFFSET LOAD_MEMORY + MOV ECX,128 + CALL GETFILE + ; + MOV EBP,OFFSET LOAD_MEMORY + MOV AX,DS:[EBP+4] + CMP AX,0AF11H + JZ JSK_MAIN + ; +JSP10: CALL CLOSEFILE + CLI + MOV EAX,DWORD PTR ALT_JMP1 + MOV DWORD PTR ALT_JMP,EAX + STI + RET + ; + ; + ; +JSP_END: + MOV AL,1 + MOV BYTE PTR ALTKEY,AL + CLI + MOV EAX,DWORD PTR ALT_JMP1 + MOV DWORD PTR ALT_JMP,EAX + STI + CALL CLOSEFILE + JMP DWORD PTR ALT_JMP1 + ; + ; + ; END FILES + ; + ; +JSK_MAIN: + XOR ECX,ECX + MOV CX,DS:[EBP+6] +JSKMAIN10: + PUSH ECX + MOV ESI,OFFSET LOAD_MEMORY + MOV ECX,16 + CALL GETFILE + MOV EBP,OFFSET LOAD_MEMORY + MOV AX,DS:[EBP+4] + CMP AX,0F1FAH + JZ JSK_MAIN1 + POP ECX + JMP JSP10 ;END + ; + ; + ; +JSK_MAIN1: + XOR ECX,ECX + MOV CX,DS:[EBP+6] + CMP CX,0 + JZ JSK_MAIN5 + PUSH ECX + MOV ECX,DS:[EBP+0] + SUB ECX,16 + MOV ESI,OFFSET LOAD_MEMORY + CALL GETFILE + POP ECX + MOV EBP,OFFSET LOAD_MEMORY +JSKMAIN11: + PUSH ECX + PUSH EBP + MOV AX,DS:[EBP+4] + ADD EBP,6 + SUB AX,11 +JSKMAIN13: + CMP AX,6 + JC JSK_MAIN4 + POP EBP + POP ECX + POP ECX + JMP JSP10 ;END + ; + ; + ; +JSK_MAIN4: + MOV ESI,OFFSET CBUF + MOV [ESI],EBP + SHL AX,2 + MOV EDI,OFFSET MIRINAE_0 + ADD DI,AX + ADC EDI,0 + CALL CS:[EDI] + POP EBP + POP ECX + MOV AX,DS:[EBP] + ADD BP,AX + ADC EBP,0 + LOOP JSKMAIN11 + MOV ECX,DWORD PTR TIME0 + CALL INT_TIME0 +JSK_MAIN5: + POP ECX + LOOP JSKMAIN_10 + JMP JSP10 + ; + ; + ; + ; +JSKMAIN_10: + JMP JSKMAIN10 + ; + ; + ; + ; + ; + ; + ; + ; + +JS_MAIN: + XOR ECX,ECX + MOV CX,DS:[EBP+6] + ADD EBP,128 +JSMAIN10: + PUSH ECX + MOV AX,DS:[EBP+4] + CMP AX,0F1FAH + JZ JS_MAIN1 + POP ECX + RET ;END + ; + ; + ; +JS_MAIN1: + XOR ECX,ECX + MOV CX,DS:[EBP+6] + ADD EBP,16 + CMP CX,0 + JZ JS_MAIN5 +JSMAIN11: + PUSH ECX + PUSH EBP + MOV AX,DS:[EBP+4] + ADD EBP,6 + SUB AX,11 +JSMAIN13: + CMP AX,6 + JC JS_MAIN4 + POP EBP + POP ECX + POP ECX + RET ;END + ; + ; + ; +JS_MAIN4: + MOV ESI,OFFSET CBUF + MOV [ESI],EBP + SHL AX,2 + MOV EDI,OFFSET MIRINAE_0 + ADD DI,AX + ADC EDI,0 + CALL CS:[EDI] + POP EBP + POP ECX + MOV AX,DS:[EBP] + ADD BP,AX + ADC EBP,0 + LOOP JSMAIN11 + MOV ECX,DWORD PTR TIME0 + CALL INT_TIME0 +JS_MAIN5: + POP ECX + LOOP JSMAIN10 + RET + ; + ; + ; + ; + ; +MIRINAE_0: + DD FLI_RGB ;11 0 + DD FLI_LC ;12 1 + DD FLI_BLK ;13 2 + DD FLI_COPY ;14 X 3 + DD FLI_RLE ;15 4 + DD FLI_COPY ;16 5 + ;---------------------------------------- + ; + ; + ; + ; + ;--------------------------------------- +FLI_RGB: + ; RGBSET00: + MOV ESI,OFFSET CBUF + MOV ESI,[ESI] + XOR CH,CH + XOR AH,AH + MOV CL,[ESI+2] + MOV AL,[ESI+3] + MOV BX,[ESI+2] + ADD ESI,4 + CMP BX,0 + JNZ RGBSET02 + MOV CX,0 ;ECX,0 ;??? + MOV DI,256 + JMP RGBSET01 +RGBSET02: + MOV DI,CX + ADD DI,AX +RGBSET01: + MOV AL,CL + MOV AH,[ESI] + MOV BL,[ESI+1] + MOV BH,[ESI+2] + PUSH ECX + CALL COLOR + POP ECX + ADD ESI,3 + INC CX + CMP CX,DI + JC RGBSET01 + RET + ;---------------------------------------- + ; + ; + ; + ; + ;---------------------------------------- +FLI_COPY: + CLD + MOV ESI,DWORD PTR CBUF + MOV EDI,0A0000H ;0 + MOV ECX,16000 ;64000/4 + REP MOVSD +;FLI_COPY01: +; MOV EAX,[ESI] +; MOV ES:[EDI],EAX +; ADD ESI,4 +; ADD EDI,4 +; LOOP FLI_COPY01 + RET + ;--------------------------------------- + ; + ; + ; + ; + ;--------------------------------------- +FLI_BLK: + CLD + MOV EDI,0A0000H ;0 + MOV ECX,16000 ;64000/4 + XOR EAX,EAX + REP STOSD +;FLI_BLK01: +; MOV ES:[EDI],EAX +; ADD EDI,4 +; LOOP FLI_BLK01 + RET + + ;-------------------------------------- + ; + ; + ; + ;-------------------------------------- +FLI_LC: + CLD + MOV ESI,DWORD PTR CBUF + MOV EDI,0A0000H ;0 + LODSW + MOV DX,320 + MUL DX + ADD DI,AX + LODSW + MOV DX,DI +FLI_LC0: + PUSH EAX + XOR AH,AH + MOV DI,DX + LODSB + MOV BL,AL + TEST BL,BL + JZ FLI_LC4 +FLI_LC1: + LODSB + ADD DI,AX + LODSB + TEST AL,AL + JS FLI_LC2 + XOR ECX,ECX + MOV CX,AX + REP MOVSB + DEC BL + JNZ FLI_LC1 + JMP FLI_LC4 +FLI_LC2: + NEG AL + XOR ECX,ECX + MOV CX,AX + LODSB + REP STOSB + DEC BL + JNZ FLI_LC1 +FLI_LC4: + ADD DX,320 + POP EAX + DEC AX + JNZ FLI_LC0 + RET + ;---------------------------------------------- + ; + ; + ; + ; + ;---------------------------------------------- +FLI_RLE: + CLD + MOV ESI,DWORD PTR CBUF + MOV EDI,0A0000H ;0 + MOV AX,200 + MOV DX,DI +FLI_RLE0: + PUSH EAX + XOR AH,AH + MOV DI,DX + LODSB + MOV BL,AL + TEST BL,BL + JZ FLI_RLE4 +FLI_RLE1: + LODSB + TEST AL,AL + JNS FLI_RLE2 + NEG AL + XOR ECX,ECX + MOV CX,AX + REP MOVSB + DEC BL + JNZ FLI_RLE1 + JMP FLI_RLE4 +FLI_RLE2: + XOR ECX,ECX + MOV CX,AX + LODSB + REP STOSB + DEC BL + JNZ FLI_RLE1 +FLI_RLE4: + ADD DX,320 + POP EAX + DEC AX + JNZ FLI_RLE0 + RET + + ;--------------------------------------------------- +VRAMCLS00: + CALL SCROFF + MOV ECX,64000/4 + MOV EDI,0A0000H ;00 + XOR EAX,EAX + REP STOSD + +;VRAMCLS01: +; MOV ES:[EDI],AX +; ADD EDI,4 +; LOOP VRAMCLS01 + + CALL SCRON + RET + ;--------------------------------------------------- + +INT_TIME0: + SUB DWORD PTR SAVEINT,ECX +INT_TIME2: + ;PUSH ES + ;MOV AX,34H ;SELECT = 34H : BASE = 0 + ;MOV ES,AX +INT_TIME1: + MOV ECX,DS:[(_INT0F0H+5)*4] + CMP ECX,DWORD PTR SAVEINT + JZ INT_TIME4 + JC INT_TIME4 + MOV AL,BYTE PTR KEYDAT0 + TEST AL,01H + JZ INT_TIME1 + MOV AL,BYTE PTR ALTKEY + CMP AL,1 + JZ INT_TIME1 + ;POP ES + JMP DWORD PTR ALT_JMP + ; +INT_TIME4: + ;POP ES + MOV AL,BYTE PTR KEYDAT0 + TEST AL,01H + JZ INT_TIME6 + MOV AL,BYTE PTR ALTKEY + CMP AL,1 + JZ INT_TIME6 + JMP DWORD PTR ALT_JMP +INT_TIME6: + RET + ; + ; + ; + ; +INT_TIME_NUM: + SUB DWORD PTR SAVEINT,ECX + RET + ; + ; + ; + ; + +INT_TIME_CHK: + ;PUSH ES + ;MOV AX,34H ;SELECT = 34H : BASE = 0 + ;MOV ES,AX + MOV ECX,DS:[(_INT0F0H+5)*4] + ;POP ES + CMP ECX,DWORD PTR SAVEINT + JZ INT_TIME_CHK1 + JC INT_TIME_CHK1 + MOV AL,0 + RET +INT_TIME_CHK1: + MOV AL,1 + RET + ;----------------------------------------- + ; + ; CHKE TIME + ; + ;----------------------------------------- +INTTIME: + SUB DWORD PTR SAVEINT,ECX +INTTIME2: +INTTIME1: + MOV ECX,DS:[(_INT0F0H+5)*4] + CMP ECX,DWORD PTR SAVEINT + JZ INTTIME4 + JC INTTIME4 + JMP INTTIME1 +INTTIME4: + RET + + +SETTIME: + ;PUSH ES + ;MOV AX,34H ;SELECT = 34H : BASE = 0 + ;MOV ES,AX + CLI + MOV DS:[(_INT0F0H+5)*4],ECX + MOV DWORD PTR SAVEINT,ECX + STI + ;POP ES + RET + ;--------------------------------------------------- + ; + ; ADJUST DELAY TIME + ; + ;--------------------------------------------------- +DELAY_TIME: + XOR EAX,EAX + MOV EBP,OFFSET SPEED + MOV AL,DS:[EBP] + CMP AL,80 + JC DELAY_TIME01 + MOV AL,79 +DELAY_TIME01: + MOV AH,3 + MUL AH + MOV DWORD PTR SAVE_CONT,EAX + RET + + ;--------------------------------------------------- + ; + ; + ; + ; + ; + ; + ;--------------------------------------------------- +SCROFF: CLI + MOV AL,1 + MOV DX,03C4H + OUT DX,AL + INC DX + IN AL,DX + OR AL,20H + OUT DX,AL + STI + RET + ; + ; + ; +SCRON: CLI + MOV AL,1 + MOV DX,03C4H + OUT DX,AL + INC DX + IN AL,DX + AND AL,0DFH + OUT DX,AL + STI + RET + ;============================================================= + ; AL : Į ȣ + ; AH : Red + ; BL : Green + ; BH : Blue + ;============================================================= +COLOR: + MOV DX,3C8H + OUT DX,AL + INC DX + PUSH DX + MOV DX,3DAH +COLOR3: IN AL,DX + TEST AL,09H + JZ COLOR3 + POP DX + MOV AL,AH + OUT DX,AL + MOV AL,BL ;H + OUT DX,AL + MOV AL,BH ;L + OUT DX,AL + RET + + ;========================================================== + ; + ; ESI : ε + ; EDX : ̸ + ; + ;========================================================== +DKREAD: + MOV DWORD PTR BUFFER1,EDX + MOV DWORD PTR BUFFER0,ESI + CALL DISKREAD + MOV EDX,DWORD PTR BUFFER1 + RET + ;---------------------------------------------------- + ; + ; + ;---------------------------------------------------- +DISKREAD: + XOR EAX,EAX + MOV DWORD PTR LENTH,EAX + MOV EDX,DWORD PTR BUFFER1 + MOV AL,0 + MOV AH,3DH + INT 21H + JC ERROR + MOV WORD PTR HANDLE,AX + MOV BX,WORD PTR HANDLE + MOV ECX,0100000H + MOV EDX,DWORD PTR BUFFER0 ;DS + MOV AH,3FH + INT 21H + JC ERROR + MOV DWORD PTR LENTH,EAX + MOV BX,WORD PTR HANDLE + MOV AH,3EH + INT 21H + JC ERROR + XOR AL,AL + MOV BYTE PTR ERRDAT,AL + RET + + ;--------------------------------------------------------- + ; + ; ESI : 巹 + ; EDI : 巹 + ; EDX : ̸ + ; + ;--------------------------------------------------------- +DKSAVE: + MOV DWORD PTR BUFFER1,EDX + MOV ECX,EDI + SUB ECX,ESI + INC ECX + MOV DWORD PTR BUFFER2,ECX + MOV DWORD PTR BUFFER0,ESI + CALL NEWFIL + MOV EDX,DWORD PTR BUFFER1 + RET + + +NEWFIL: + MOV EDX,DWORD PTR BUFFER1 + MOV AH,3CH + MOV ECX,0 + INT 21H + JC ERROR + JMP DISK100 + RET + + +DISKSAVE: + MOV EDX,DWORD PTR BUFFER1 + MOV AL,1 + MOV AH,3DH + INT 21H + JC ERROR +DISK100: + MOV WORD PTR HANDLE,AX + ; + MOV ECX,DWORD PTR BUFFER2 + MOV BX,WORD PTR HANDLE + MOV EDX,DWORD PTR BUFFER0 + MOV AH,40H + INT 21H + JC ERROR + MOV BX,WORD PTR HANDLE + MOV AH,3EH + INT 21H + JC ERROR + XOR AL,AL + MOV BYTE PTR ERRDAT,AL + RET + +ERROR: + CMP AL,2 + JZ ERROR1 + MOV AL,1 + MOV BYTE PTR ERRDAT,AL + RET +ERROR1: + MOV AL,2 + MOV BYTE PTR ERRDAT,AL + RET + ;------------------------------------------------- + ; + ; + ; + ; + ; + ; + ;-------------------------------------------------- +OPENFILE: + XOR ECX,ECX + MOV DWORD PTR BUFFER1,EDX + MOV AL,0 + MOV AH,3DH + INT 21H + JC ERROR + MOV WORD PTR HANDLE,AX + XOR AL,AL + MOV BYTE PTR ERRDAT,AL + RET + ;------------------------------------------ + ; ECX:NUMBER + ; ESI:32BIT ADDRESS + ;------------------------------------------ +PUTFILE: + MOV BX,WORD PTR HANDLE + MOV EDX,ESI + MOV AH,40H + INT 21H + JC ERROR + XOR AL,AL + MOV BYTE PTR ERRDAT,AL + RET + ;------------------------------------------ + ; ECX:NUMBER + ; ESI:32BIT ADDRESS + ;------------------------------------------ +GETFILE: + MOV BX,WORD PTR HANDLE + MOV EDX,ESI + MOV AH,3FH + INT 21H + JC ERROR + XOR AL,AL + MOV BYTE PTR ERRDAT,AL + RET + ;------------------------------------------ +CLOSEFILE: + MOV BX,WORD PTR HANDLE + MOV AH,3EH + INT 21H + JC ERROR + XOR AL,AL + MOV BYTE PTR ERRDAT,AL + RET + ;======================================================= + ; + ; HEXMAL -----> DECMAL [ 16 10 ] + ; INPUT : EAX + ; : EBP + ; + ; OUTPUT : [EBP] = DECMALD ( 10 BYTE ) + ; + ;======================================================== +DECMAL: + XOR EDX,EDX + MOV EBX,1000000000 + DIV EBX + ADD AL,30H + MOV DS:[EBP],AL + ; + MOV EAX,EDX + XOR EDX,EDX + MOV EBX,100000000 + DIV EBX + ADD AL,30H + MOV DS:[EBP+1],AL + ; + MOV EAX,EDX + XOR EDX,EDX + MOV EBX,10000000 + DIV EBX + ADD AL,30H + MOV DS:[EBP+2],AL + ; + MOV EAX,EDX + XOR EDX,EDX + MOV EBX,1000000 + DIV EBX + ADD AL,30H + MOV DS:[EBP+3],AL + ; + MOV EAX,EDX + XOR EDX,EDX + MOV EBX,100000 + DIV EBX + ADD AL,30H + MOV DS:[EBP+4],AL + ; + MOV EAX,EDX + XOR EDX,EDX + MOV EBX,10000 + DIV EBX + ADD AL,30H + MOV DS:[EBP+5],AL + ; + MOV AX,DX + XOR DX,DX + MOV BX,1000 + DIV BX + ADD AL,30H + MOV DS:[EBP+6],AL + ; + MOV AX,DX + MOV BL,100 + DIV BL + ADD AL,30H + MOV DS:[EBP+7],AL + ; + MOV AL,AH + XOR AH,AH + MOV BL,10 + DIV BL + ADD AL,30H + MOV DS:[EBP+8],AL + ; + ADD AH,30H + MOV DS:[EBP+9],AH + RET + ;------------------------------------------ + ; + ; + ; + ; + ;------------------------------------------ +RESET_MUSIC: + MOV AL,BYTE PTR MUSIC_MODEL + CMP AL,0 + JZ RESET_MUSIC01 + XOR EAX,EAX + CLI + MOV DS:[((_INT0F0H+5)*4)+2],AX + MOV AX,18*36*2 + MOV DS:[((_INT0F0H+5)*4)],AX + STI + MOV AX,00 + MOV DS:BYTE PTR ((_INT0F0H+3)*4),AL +RESET_MUSIC01: + RET + ;------------------------------------------ + ; + ; + ; + ; + ;------------------------------------------ +SET_MUSIC: + MOV BX,WORD PTR SEG_MEM +SET_MUSIC01: + MOV AL,BYTE PTR MUSIC_MODEL + CMP AL,0 + JZ SET_MUSIC02 + MOV EDI,OFFSET REG_BLK01 + MOV EAX,1 + MOV [EDI]._EAX,EAX + MOV CL,BYTE PTR VOLUME + MOV CH,BYTE PTR MUSIC_LOOP + MOV [EDI]._ECX,ECX + MOV AX,BX + MOV [EDI]._DS,AX + MOV AX,300H + MOV BL,0F2H + MOV BH,0 + MOV CX,0 + INT 31H +SET_MUSIC02: + RET + ;------------------------------------------ + ; + ; + ; + ; + ;------------------------------------------ +PLAY_MUSIC: + MOV AL,BYTE PTR MUSIC_MODEL + CMP AL,0 + JZ PLAY_MUSIC01 + MOV EDI,OFFSET REG_BLK01 + MOV EAX,6 + MOV [EDI]._EAX,EAX + MOV AX,300H + MOV BL,0F2H + MOV BH,00 + MOV CX,0 + INT 31H +PLAY_MUSIC01: + RET + ;------------------------------------------ + ; + ; + ; + ; + ;------------------------------------------ +STOP_MUSIC: + MOV AL,BYTE PTR MUSIC_MODEL + CMP AL,0 + JZ STOP_MUSIC01 + MOV EDI,OFFSET REG_BLK01 + MOV EAX,3 + MOV [EDI]._EAX,EAX + MOV AX,300H + MOV BL,0F2H + MOV BH,0 + MOV CX,0 + INT 31H +STOP_MUSIC01: + RET + ;------------------------------------------ + ; + ; + ; + ; + ;------------------------------------------ +MUSIC_CHK: + MOV AL,BYTE PTR MUSIC_MODEL + CMP AL,0 + JZ MUSIC_CHK01 + MOV EDI,OFFSET REG_BLK01 + MOV EAX,5 + MOV [EDI]._EAX,EAX + MOV AX,300H + MOV BL,0F2H + MOV BH,0 + MOV CX,0 + INT 31H + MOV EDI,OFFSET REG_BLK01 + MOV EBX,[EDI]._EBX +MUSIC_CHK01: + RET + ;------------------------------------------ + ; + ; ECX = NUMBER + ; BP =SEG ,ESI = OFFSET : ADDRESS + ; + ;------------------------------------------ +EXCLUCIVE: + MOV AL,BYTE PTR MUSIC_MODEL + CMP AL,3 + JC EXCLUCIVE01 + MOV EDI,OFFSET REG_BLK01 + MOV EAX,0 + MOV [EDI]._EAX,EAX + MOV [EDI]._DS,BP + MOV [EDI]._ESI,ESI + MOV [EDI]._ECX,ECX + MOV BH,0 + MOV BL,0F2H + MOV AX,300H + MOV CX,0 + INT 31H +EXCLUCIVE01: + RET + ;------------------------------------------ + ; + ; + ; + ; + ;------------------------------------------ +SEND_EX: + PUSH ECX + XOR EDI,EDI + MOV DI,WORD PTR SEG_MEM + SHL EDI,4 +MAIN_0003: + MOV AL,[ESI] + MOV [EDI],AL + INC ESI + INC EDI + LOOP MAIN_0003 + POP ECX + MOV BP,WORD PTR SEG_MEM + MOV ESI,0 + CALL EXCLUCIVE + RET + ;------------------------------------------ + ; + ; + ; + ; + ;------------------------------------------ +SOUND: CMP BX,0 + JZ SOUND1 + CMP BX,54 + JNC SOUND1 + MOV EDI,OFFSET REG_BLK01 + MOV EAX,4 + MOV [EDI]._EAX,EAX + MOV [EDI]._EBX,EBX + MOV AX,300H + MOV BL,0F2H + MOV BH,0 + MOV CX,0 + INT 31H +SOUND1: RET + ;--------------------------------------------- + ; + ; REAL_MEM + ; BX = MEMORY SEG + ; + ;--------------------------------------------- +REAL_MEM_PRG: + MOV AX,100H + ; MOV EBX,1000H + INT 31H + JC REAL_MEM_PRG02 + MOV WORD PTR SEG_MEM,AX + CMP DX,0 + JZ REAL_MEM_PRG01 + INC WORD PTR SEG_MEM +REAL_MEM_PRG01: + MOV AL,0 + RET +REAL_MEM_PRG02: + ; MEM_ERROR + MOV AL,1 + RET + ;--------------------------------------------------- + ; + ; PROTECT_MEMORY --> REAL MEMORY ( MOVE) + ; INPUT ECX = LENTH + ; ESI = ADDRESS (SOURCE ADDRESS) + ; CALL MOVE_PRO_REAL + ; EDI = REAL ADDRESS + ;--------------------------------------------------- +MOVE_PRO_REAL: + XOR EDI,EDI + MOV DI,WORD PTR SEG_MEM + SHL EDI,4 +MOVE_PRO_REAL01: + MOV AL,[ESI] + MOV [EDI],AL + INC ESI + INC EDI + LOOP MOVE_PRO_REAL01 + RET + ;========================================================== + ; + ; INPUT LOAD ADDRESS,COMPRESS NUMBER,TARGET ADDRESS + ; ESI EAX EDI + ; + ; OUTPUT TARGET ADDRESS + ; + ;========================================================== +LZEXEM: MOV EBP,ESI + SHL EAX,1 + ADD EBP,EAX + XOR EAX,EAX + MOV AX,DS:[EBP] + SHL EAX,4 + ADD ESI,EAX + ;========================================================== + ; + ; INPUT + ; ESI : α׷ + ; EDI : Ǯ 巹 + ; + ; OUTPUT + ; EDI : Ǯ Ų. + ; + ;========================================================== +LZEXE: + PUSH ES + MOV AX,DS + MOV ES,AX + MOV EBX,-1 + CLD + LODSW + MOV BP,AX + XOR ECX,ECX + MOV DL,10H +LZ00: SHR BP,1 + DEC DL + JNZ LZ01 + LODSW + MOV BP,AX + MOV DL,10H +LZ01: JNC LZ02 + MOVSB + JMP SHORT LZ00 +LZ02: SHR BP,1 + DEC DL + JNZ LZ03 + LODSW + MOV BP,AX + MOV DL,10H +LZ03: JC LZ06 + SHR BP,1 + DEC DL + JNZ LZ04 + LODSW + MOV BP,AX + MOV DL,10H +LZ04: RCL CX,1 + SHR BP,1 + DEC DL + JNZ LZ05 + LODSW + MOV BP,AX + MOV DL,10H +LZ05: RCL CX,1 + INC CX + INC CX + LODSB + MOV BH,0FFH + MOV BL,AL + JMP SHORT LZ07 +LZ06: LODSW + MOV BX,AX + OR BH,0E0H + MOV CL,5 + SHR AH,CL + JNZ LZ08 + LODSB + AND AL,AL + JZ LZ09 + CMP AL,1 + JZ LZ10 + MOV CL,AL + INC CX + JMP SHORT LZ07 +LZ08: INC AH + INC AH + MOV CL,AH +LZ07: MOV AL,[EBX+EDI] + STOSB + LOOP LZ07 + JMP LZ00 +LZ09: XOR ECX,ECX + JMP LZ00 +LZ10: POP ES + RET + + ; + ; + ; + ; + ; + ; +_TEXT ENDS + END + diff --git a/KEYSCAN.INC b/KEYSCAN.INC new file mode 100644 index 0000000..a2024cd --- /dev/null +++ b/KEYSCAN.INC @@ -0,0 +1,83 @@ +_ESC EQU 01h +_1 EQU 02h +_2 EQU 03h +_3 EQU 04h +_4 EQU 05h +_5 EQU 06h +_6 EQU 07h +_7 EQU 08h +_8 EQU 09h +_9 EQU 0Ah +_0 EQU 0Bh +_A EQU 1Eh +_S EQU 1Fh +_D EQU 20h +_F EQU 21h +_G EQU 22h +_H EQU 23h +_J EQU 24h +_K EQU 25h +_L EQU 26h +_Q EQU 10h +_W EQU 11h +_E EQU 12h +_R EQU 13h +_T EQU 14h +_Y EQU 15h +_U EQU 16h +_I EQU 17h +_O EQU 18h +_P EQU 19h +_Z EQU 2Ch +_X EQU 2Dh +_C EQU 2Eh +_V EQU 2Fh +_B EQU 30h +_N EQU 31h +_M EQU 32h +_MINUS EQU 0Ch +_EQUAL EQU 0Dh +_BACKSP EQU 0Eh +_SEMI EQU 27h +_QUATO EQU 28h +_RSLASH EQU 2Bh +_COMMA EQU 33h +_DOT EQU 34h +_SLASH EQU 35h + +_F1 EQU 3Bh +_F2 EQU 3Ch +_F3 EQU 3Dh +_F4 EQU 3Eh +_F5 EQU 3Fh +_F6 EQU 40h +_F7 EQU 41h +_F8 EQU 42h +_F9 EQU 43h +_F10 EQU 44h +_F11 EQU 57h +_F12 EQU 58h + +_SHR EQU 2Ah +_SHL EQU 36h +_CTRL EQU 1Dh +_ALT EQU 38h + +_UPKEY EQU 48h +_LTKEY EQU 4Bh +_RTKEY EQU 4Dh +_DNKEY EQU 50h + +_TAB EQU 0Fh +_HOME EQU 47h +_PGUP EQU 49h +_END EQU 4Fh +_PGDN EQU 51h +_INS EQU 52h +_DEL EQU 53h +_NUM EQU 45h +_CAP EQU 3Ah +_SCR EQU 46h +_SPACE EQU 39h +_ENTER EQU 1Ch + diff --git a/MAKEFILE b/MAKEFILE new file mode 100644 index 0000000..8f6bfdc --- /dev/null +++ b/MAKEFILE @@ -0,0 +1,99 @@ +# IZMIR WATCOM Make file + +.c.obj: + wcc386 /s $< + +.asm.obj: + tasmx /ml $* + +# +# first target izmir1.exe +# +izmir.bin: start.obj iziz.obj IZ_DEMO1.OBJ cops_dat.obj sound.lib + wcl386 /fe=izmir.bin /fm=izmir $< +# use this for pmodew +# wcl386 /l=pmodew /fe=izmir.bin $< + +# iziz.obj: iziz.asm +# tasmx /ml iziz.asm + +# cops_dat.obj: cops_dat.asm + + +# +# second target object.bod +# + +object1.bod: object1.exe + splith $< 512 + +object1.exe: object1.obj obj_dat1.obj + tlink /3 $< + + +object2.bod: object2.exe + splith $< 512 + +object2.exe: object2.obj obj_dat2.obj 2stage.obj + tlink /3 $< + +object3.bod: object3.exe + splith $< 512 + +object3.exe: object3.obj 3stage.obj + tlink /3 $< + +object4.bod: object4.exe + splith $< 512 + +object4.exe: object4.obj 4stage.obj + tlink /3 $< + +object5.bod: object5.exe + splith $< 512 + +object5.exe: object5.obj 5stage.obj + tlink /3 $< + +object6.bod: object6.exe + splith $< 512 + +object6.exe: object6.obj 6stage.obj + tlink /3 $< + +nameobj.bod: nameobj.exe + splith $< 512 + +nameobj.exe: nameobj.obj credit.obj + tlink /3 $< + + + +enmap1.bod: enmap1.exe + splith $< 512 + +enmap1.exe: enmap1.obj + tlink /3 $< + + +texmap1.bod: texmap1.exe + splith $< 512 + +texmap1.exe: texmap1.obj + tlink /3 $< + + +texmap2.bod: texmap2.exe + splith $< 512 + +texmap2.exe: texmap2.obj + tlink /3 $< + +texmap3.bod: texmap3.exe + splith $< 512 + +texmap3.exe: texmap3.obj + tlink /3 $< + + + diff --git a/MENU-TXT.PCX b/MENU-TXT.PCX new file mode 100644 index 0000000..fbe83c9 Binary files /dev/null and b/MENU-TXT.PCX differ diff --git a/MENU.GRP b/MENU.GRP new file mode 100644 index 0000000..f4dc2ef Binary files /dev/null and b/MENU.GRP differ diff --git a/MENU.PCX b/MENU.PCX new file mode 100644 index 0000000..1e248f1 Binary files /dev/null and b/MENU.PCX differ diff --git a/MENUITEM.PCX b/MENUITEM.PCX new file mode 100644 index 0000000..c0a17b0 Binary files /dev/null and b/MENUITEM.PCX differ diff --git a/MIR.GRP b/MIR.GRP new file mode 100644 index 0000000..2c0bbc1 Binary files /dev/null and b/MIR.GRP differ diff --git a/MIRE.GRP b/MIRE.GRP new file mode 100644 index 0000000..158584e Binary files /dev/null and b/MIRE.GRP differ diff --git a/MIRINAE.BNK b/MIRINAE.BNK new file mode 100644 index 0000000..7183692 Binary files /dev/null and b/MIRINAE.BNK differ diff --git a/MT-GM1.SYX b/MT-GM1.SYX new file mode 100644 index 0000000..00a60e7 Binary files /dev/null and b/MT-GM1.SYX differ diff --git a/MT-GM2.SYX b/MT-GM2.SYX new file mode 100644 index 0000000..8d65f08 Binary files /dev/null and b/MT-GM2.SYX differ diff --git a/MT-RESET.SYX b/MT-RESET.SYX new file mode 100644 index 0000000..2bc453a Binary files /dev/null and b/MT-RESET.SYX differ diff --git a/NAMEOBJ.ASM b/NAMEOBJ.ASM new file mode 100644 index 0000000..380830a --- /dev/null +++ b/NAMEOBJ.ASM @@ -0,0 +1,82 @@ +;------------------------------------------------------- +; object course data for IZMIR +; stage 6 +;------------------------------------------------------- + .386 + +_GOTO equ 230 + +object struc + + obj_no dd ? ; 0 + + x dw ? ; coordinate + y dw ? ; + z dw ? ; + + dlx dw ? ; delta x + dly dw ? ; delta y + dlz dw ? ; delta z + + ix dw ? ; interaction + iy dw ? ; + iz dw ? ; + + interaction dw ? ; + z_clip dw ? ; + sco dw ? ; + + stat dd ? ; status + spr_no dd ? ; sprite number + sfactor dd ? ; scale + spr_data dd ? ; pointer of sprite image data + course dd ? ; pointer of course + + crea_rt dd ? ; object creation routine + spr_rt dd ? ; sprite routine + course_rt dd ? ; course routine + course_off dd ? ; course offset + +object ends + + +_data segment public use32 'DATA' + +extrn name001: dword +extrn name002: dword +extrn name003: dword +extrn name004: dword +extrn name005: dword +extrn name006: dword +extrn name007: dword +extrn name008: dword +extrn name009: dword +extrn name010: dword + + ORG 0 +OBJ_DATA label +enemy_type label word +object < 1, 0, -200, 150,,,,,,, 0, 2500, 20, 2, 0, 128, offset name001, offset name_course, 0, 1,0,0> +object < 2, 0, -200, 150,,,,,,, 0, 2500, 20, 2, 0, 128, offset name002, offset name_course, 0, 1,0,0> +object < 3, 0, -200, 150,,,,,,, 0, 2500, 20, 2, 0, 128, offset name003, offset name_course, 0, 1,0,0> +object < 4, 0, -200, 150,,,,,,, 0, 2500, 20, 2, 0, 128, offset name004, offset name_course, 0, 1,0,0> +object < 5, 0, -200, 150,,,,,,, 0, 2500, 20, 2, 0, 128, offset name005, offset name_course, 0, 1,0,0> +object < 6, 0, -200, 150,,,,,,, 0, 2500, 20, 2, 0, 128, offset name006, offset name_course, 0, 1,0,0> +object < 7, 0, -200, 150,,,,,,, 0, 2500, 20, 2, 0, 128, offset name007, offset name_course, 0, 1,0,0> +object < 8, 0, -200, 150,,,,,,, 0, 2500, 20, 2, 0, 128, offset name008, offset name_course, 0, 1,0,0> +object < 9, 0, -200, 150,,,,,,, 0, 2500, 20, 2, 0, 128, offset name009, offset name_course, 0, 1,0,0> +object <10, 0, -200, 150,,,,,,, 0, 2500, 20, 2, 0, 128, offset name010, offset name_course, 0, 1,0,0> + +name_course label + dw 0,0,10,20 + dw 0,0,10,20 + dw 0,0,10,20 + dw 0,0,10,20 + dw 0,0,10,25 + dw 0,0,10,25 + dw 0,0,10,25 + dw 0,0,5,30 + dw 0,0,0,30,-1 + +_data ends + END diff --git a/NAMEOBJ.BOD b/NAMEOBJ.BOD new file mode 100644 index 0000000..3de0787 Binary files /dev/null and b/NAMEOBJ.BOD differ diff --git a/NEW1.GRP b/NEW1.GRP new file mode 100644 index 0000000..06c5b3a Binary files /dev/null and b/NEW1.GRP differ diff --git a/NEW2.GRP b/NEW2.GRP new file mode 100644 index 0000000..fb836b2 Binary files /dev/null and b/NEW2.GRP differ diff --git a/NEW3.GRP b/NEW3.GRP new file mode 100644 index 0000000..89abc88 Binary files /dev/null and b/NEW3.GRP differ diff --git a/NEW4.GRP b/NEW4.GRP new file mode 100644 index 0000000..7706e48 Binary files /dev/null and b/NEW4.GRP differ diff --git a/NEW5.GRP b/NEW5.GRP new file mode 100644 index 0000000..9363cb3 Binary files /dev/null and b/NEW5.GRP differ diff --git a/NEW6.GRP b/NEW6.GRP new file mode 100644 index 0000000..29f3c40 Binary files /dev/null and b/NEW6.GRP differ diff --git a/OBJECT1.ASM b/OBJECT1.ASM new file mode 100644 index 0000000..ed7bac8 --- /dev/null +++ b/OBJECT1.ASM @@ -0,0 +1,350 @@ +;------------------------------------------------------- +; object course data for IZMIR +; stage 1 +;------------------------------------------------------- + .386 + +_GOTO equ 230 + +object struc + + obj_no dd ? ; 0 + + x dw ? ; coordinate + y dw ? ; + z dw ? ; + + dlx dw ? ; delta x + dly dw ? ; delta y + dlz dw ? ; delta z + + ix dw ? ; interaction + iy dw ? ; + iz dw ? ; + + interaction dw ? ; + z_clip dw ? ; + sco dw ? ; + + stat dd ? ; status + spr_no dd ? ; sprite number + sfactor dd ? ; scale + spr_data dd ? ; pointer of sprite image data + course dd ? ; pointer of course + + crea_rt dd ? ; object creation routine + spr_rt dd ? ; sprite routine + course_rt dd ? ; course routine + course_off dd ? ; course offset + +object ends + + +_data segment public use32 'DATA' + +extrn tan_spr_data: dword +extrn tan_spr_data2: dword +extrn tan_spr_data3: dword +extrn bull_spr_data: dword +extrn rock01_spr_data: dword +extrn rock02_spr_data: dword +extrn ctw_spr_data: dword +extrn bos1_spr_data: dword + + ORG 0 +OBJ_DATA label +enemy_type label word +object <1, 0, 0, 2500,,,,,,, 1, 2500, 10, 2, 0, 0, offset tan_spr_data, offset tan_course0, 0, 0,0,0> +; tank +object <2, 0, -250, 150, ,,,,,, 1, 2500, 30, 2, 0, 0, offset tan_spr_data2, offset tan_course2, 0, 1,0,0> +; plane R +object <3, 0, -250, 150, ,,,,,, 1, 2500, 30, 2, 0, 0, offset tan_spr_data2, offset tan_course3, 0, 1,0,0> +; plane L +object <4, 0, -100, 2500,,,,,,, 1, 2500, 20, 2, 0, 0, offset tan_spr_data3, offset tan_course1, 0, 1,0,0> +; UFO 1 +object <5, 0, -150, 2500,,,,,,, 1, 2500, 20, 2, 0, 0, offset tan_spr_data3, offset tan_course4, 0, 1,0,0> +; UFO 2 +object <6, 0, 0, 2500,,,,,,, 0, 2500, 0, 2, 0, 0, offset rock01_spr_data, 0, 0, 0,0,0> +; rock 1 +object <7, 0, 0, 2500,,,,,,, 0, 2500, 0, 2, 0, 0, offset rock02_spr_data, 0, 0, 0,0,0> +; rock 2 +object <8, 0, 0, 2500,,,,,,, 0, 2500, 0, 12, 0, 128, offset bull_spr_data, offset bull_course, 0, 0,0,0> +; fire +object <9, 0, 0, 2500,,,,,,, 1, 2500, 40, 2, 0, 0, offset ctw_spr_data, offset ctw_course, 0, 0,0,0> +; gun tower + +object <10,0, -150, 2500,,,,,,, 1, 2500, 500, 5000, 0, 128, offset bos1_spr_data, offset boss_course1, 0, 1,0,0> +; BOSS + +;--------------------------------------------------------------------- +bull_course label word + dw 202,0, 200,6, 202,1, 202,2, 202,3, 202,4, 202,5 + dw 202,6, 202,7, 202,8, 202,9, 202,10, 202,7 + dw 202,8, 202,7, 202,8, 202,7, 202,8, 202,7 + dw 202,8, 202,7, 202,8, 202,7, 202,6, 202,5 + dw 202,5, 202,4, 202,3, 202,2, 202,1 + dw _GOTO + dd bull_course + +tan_course0 label word ; tank + dw 0,5,0,-5, 1,5,0,-5, 2,0,0,-5, 3,5,0,-5, 4,5,0,-5 + dw 0,5,0,-10, 1,5,0,-10, 2,0,0,-10, 3,5,0,-10, 4,5,0,-10 + dw 200,10, 201,1,-15,-40 + dw 0,5,0,-5, 1,5,0,-5, 2,0,0,-5, 3,5,0,-5, 4,5,0,-5 + dw 201,1,-5,-20, 0,-5,0,-5, 1,-5,0,-5, 2,0,0,-5, 3,-5,0,-5, 4,-5,0,-5 + dw 201,1,-5,-20, 0,-5,0,-10, 1,-5,0,-10, 2,0,0,-10, 3,-5,0,-10, 4,-5,0,-10 + dw 0,-5,0,-5, 1,-5,0,-5, 2,0,0,-5, 3,-5,0,-5, 4,-5,0,-5 + dw _GOTO + dd tan_course0 + +tan_course1 label word ; UFO + dw 0,2,0,-4, 1,3,0,-4, 2,5,0,-4, 3,5,0,-4, 4,5,0,-4 + dw 200,10, 201,1,0,0 + dw 0,2,0,-4, 1,5,0,-4, 2,2,0,-4, 3,5,0,-4, 4,2,0,-4 + dw 0,-2,0,-4, 1,-3,0,-4, 2,-5,0,-4, 3,-10,0,-4, 4,-5,0,-4 + dw 0,-5,0,-4, 1,-4,0,-4, 2,-3,0,-4, 3,-2,0,-4, 4,-1,0,-4 + dw _GOTO + dd tan_course1 + +tan_course2 label word + dw 0,0,2,80, 200,5, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80 + dw 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80 + dw 0,0,3,60, 0,0,3,60, 0,0,3,60, 0,0,3,40, 0,0,3,40, 0,0,3,40 + dw 0,0,3,40, 0,0,3,40, 0,0,3,30, 0,0,3,20, 0,0,3,10, 0,0,3,10 + dw 1,-10,3,10, 1,-10,3,10, 1,-10,3,10, 1,-10,3,10 + dw 2,-20,3,10, 2,-20,3,10, 2,-20,3,10 + dw 2,-20,3,10, 2,-20,3,10 + dw 3,-30,3,0, 3,-30,3,0 + dw 3,-30,3,0, 3,-30,3,0, 201,0,0,0 + dw 4,-20,2,-10, 4,-20,2,-10, 200,10, 201,0,0,0 + dw 4,-20,2,-10, 4,-20,2,-10, 4,-20,2,-10 + dw 5,-10,2,-10, 5,-10,2,-10, 5,-5,3,-15, 5,-5,4,-15, 201,0,0,0 + dw 6,0,5,-20, 6,0,0,-30, -1 + +tan_course3 label word + dw 0,0,2,80, 200,5, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80 + dw 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80 + dw 0,0,3,60, 0,0,3,60, 0,0,3,60, 0,0,3,60, 0,0,3,60, 0,0,3,60 + dw 0,0,3,40, 0,0,3,40, 0,0,3,30, 0,0,3,20, 0,0,3,10, 0,0,3,10 + + dw 1+256,10,3,10, 1+256,10,3,10, 1+256,10,3,10, 1+256,10,3,10 + dw 2+256,20,3,10, 2+256,20,3,10, 2+256,20,3,10 + dw 2+256,20,3,10, 2+256,20,3,10 + dw 3+256,30,3,0, 3+256,30,3,0 + dw 3+256,30,3,0, 3+256,30,3,0, 201,0,0,0 + dw 4+256,20,2,-10, 4+256,20,2,-10, 200,10, 201,0,0,0 + dw 4+256,20,2,-10, 4+256,20,2,-10, 4+256,20,2,-10 + dw 5+256,10,2,-10, 5+256,10,2,-10, 5+256,5,3,-15, 5+256,5,4,-15 + + dw 201,0,0,0 + dw 6,0,5,-20, 6,0,0,-30, -1 + +tan_course4 label word ; UFO + dw 0,0,0,-4, 1,0,2,-4, 2,0,5,-4, 3,0,7,-4, 4,0,10,-4 + dw 200,10, 201,1,0,0 + dw 0,0,10,-4, 1,0,7,-4, 2,0,5,-4, 3,0,2,-4, 4,0,0,-4 + dw 0,0,0,-4, 1,0,-2,-4, 2,-0,-5,-4, 3,0,-7,-4, 4,0,-10,-4 + dw 0,0,-10,-4, 1,0,-7,-4, 2,0,-5,-4, 3,0,-2,-4, 4,0,0,-4 + dw _GOTO + dd tan_course4 + +ctw_course label word ; GUN TOWER + dw 0,0,0,0 +check002: + dw 201,1,0,-30 + dw 234,30 + dd left200,center200,right200 + +left200: + dw 235,40 + dd up200,center201,center201 +up200: + dw 202,3 + dw _GOTO + dd check002 +center201: + dw 202,0 + dw _GOTO + dd check002 + +center200: + dw 235,40 + dd up201,center202,center202 +up201: + dw 202,4 + dw _GOTO + dd check002 +center202: + dw 202,1 + dw _GOTO + dd check002 + +right200: + dw 235,40 + dd up202,center203,center203 +up202: + dw 202,5 + dw _GOTO + dd check002 +center203: + dw 202,2 + dw _GOTO + dd check002 + +;;;;BOSS;;;; +boss_course1 label word ; + dw 0,0,0,-15, 0,0,0,-15, 1,0,0,-15, 1,0,0,-15, 2,0,0,-15, 2,0,0,-15, 3,0,0,-15, 3,0,0,-15 + dw 201,1,0,20 + dw 4,0,0,-15, 4,0,0,-15, 5,0,0,-15, 5,0,0,-15, 6,0,0,-15, 6,0,0,-15, 7,0,0,-15, 7,0,0,-15 + dw 201,1,0,20 + dw 232,1000 + dd contib1,contib1,boss_course1 +contib1: + dw 0,0,0,10, 0,0,5,10 + dw 201,1,0,20 + dw 1,0,10,10, 1,0,5,10 + dw 201,1,0,20 + dw 2,0,0,10, 2,0,-5,10 + dw 3,0,-10,10, 3,0,-5,10 +check00:dw 232,200 + dd backmove,backmove,contib2 +contib2: + dw 4,0,0,20, 4,0,0,20 + dw 201,1,0,20 + dw 5,0,0,20, 5,0,0,20 + dw 233,5000-300 + dd chkd0,chkd0,contib3 +contib3: + dw 6,0,0,20, 6,0,0,20 + dw 201,1,0,20 + dw 7,0,0,20, 7,0,0,20 +check01:dw 232,200 + dd backmove,backmove,contib1 +backmove: + dw 0,0,0,40, 0,0,5,40, 1,0,10,40, 1,0,15,40, 2,0,15,40, 2,0,10,40, 3,0,5,40, 3,0,0,40 + dw 201,0,0,20 + dw 205,1,0,0 + dw 4,0,0,40, 4,0,-5,40, 5,0,-10,40, 5,0,-15,40, 6,0,-15,40, 6,0,-10,40, 7,0,-5,40, 7,0,0,40 + dw 201,0,0,20 + dw 0,0,0,40, 0,0,5,40, 1,0,10,40, 1,0,15,40, 2,0,15,40, 2,0,10,40, 3,0,5,40, 3,0,0,40 + dw 201,0,0,20 + dw 4,0,0,40, 4,0,-5,40, 5,0,-10,40, 5,0,-15,40, 6,0,-15,40, 6,0,-10,40, 7,0,-5,40, 7,0,0,40 + dw 234,50 + dd left00,check01,right00 + +left00: dw 210,-25,0,25 + dw _GOTO + dd check01 + +right00:dw 210,25,0,25 + dw _GOTO + dd check01 + +bossdown: + dw 8,0,0,-15, 8,0,0,-15, 9,0,0,-15, 9,0,0,-15, 10,0,0,-15, 10,0,0,-15, 11,0,0,-15, 11,0,0,-15 + dw 201,1,0,20 + dw 12,0,0,-15, 12,0,0,-15, 13,0,0,-15, 13,0,0,-15, 14,0,0,-15, 14,0,0,-15, 15,0,0,-15, 15,0,0,-15 + dw 201,1,0,20 +chkd0: + dw 8,0,0,0 + dw 205,1,0,10 + dw 205,1,10,15 + dw 205,1,-10,25 + dw 232,1000 + dd contid1,contid1,bossdown +contid1: + dw 8,0,0,10, 8,0,0,10 + dw 201,1,-60,-10 + dw 201,1, 60,-10 + dw 9,0,0,10, 9,0,0,10 + dw 201,1,-60,-10 + dw 201,1, 60,-10 + dw 10,0,0,10, 10,0,0,10 + dw 201,1,-60,-10 + dw 201,1, 60,-10 + dw 11,0,0,10, 11,0,0,10 + dw 201,1,-60,-10 + dw 201,1, 60,-10 + dw 232,200 + dd backmove1,backmove1,contid2 +contid2: + dw 12,0,5,20, 12,0,0,20 + dw 201,1,-60,-10 + dw 201,1, 60,-10 + dw 13,0,0,20, 13,0,-5,20 + dw 233,5000-500 + dd bosskill,bosskill,contid3 +contid3: + dw 14,0,5,20, 14,0,0,20 + dw 15,0,-5,20, 15,0,0,20 +check001:dw 232,200 + dd backmove1,backmove1,contid1 +backmove1: + dw 8,0,0,40, 8,0,5,40, 9,0,10,40, 9,0,15,40, 10,0,15,40, 10,0,10,40, 11,0,5,40, 11,0,0,40 + dw 201,1,-60,-10 + dw 201,1, 60,-10 + dw 205,1,0,0 + dw 12,0,0,40, 12,0,-5,40, 13,0,-10,40, 13,0,-15,40, 14,0,-15,40, 14,0,-10,40, 15,0,-5,40, 15,0,0,40 + dw 201,1,-60,-10 + dw 201,1, 60,-10 + dw 8,0,0,40, 8,0,5,40, 9,0,10,40, 9,0,15,40, 10,0,15,40, 10,0,10,40, 11,0,5,40, 11,0,0,40 + dw 201,1,-60,-10 + dw 201,1, 60,-10 + dw 12,0,0,40, 12,0,-5,40, 13,0,-10,40, 13,0,-15,40, 14,0,-15,40, 14,0,-10,40, 15,0,-5,40, 15,0,0,40 + dw 234,50 + dd left01,check001,right01 + +left01: dw 210,-25,0,25 + dw _GOTO + dd check001 + +right01:dw 210,25,0,25 + dw _GOTO + dd check001 + + +bosskill: + dw 205,1,0,0 + dw 8,0,0,10, 8,0,5,10 + dw 205,1,-20,10 + dw 9,0,10,10, 9,0,15,10 + dw 205,1, 20,10 + dw 10,0,15,10, 10,0,10,10 + dw 205,1, 30,20 + dw 11,0,5,10, 11,0,0,10 + dw 205,1,-30,20 + dw 12,0,0,20, 12,0,-5,20 + dw 13,0,-10,20, 13,0,-15,20 + dw 14,0,0,20, 14,0,-5,20 + dw 15,0,-10,20, 15,0,-15,20 + dw 205,1,-20,-10 + dw 15,0,5,20 + dw 205,1,30,-10 + dw 15,0,5,20 + dw 205,1,-30,-20 + dw 15,0,5,20 + dw 205,1,-30,-30 + dw 15,0,5,20 + dw 205,1,-20,-10 + dw 15,0,2,20 + dw 205,1,40,-10 + dw 15,0,2,20 + dw 205,1,-40,-20 + dw 15,0,5,20 + dw 205,1,-30,-40 + dw 205,1,20,-10 + dw 15,0,2,20 + dw 205,1,30,-10 + dw 205,1,-30,-20 + dw 205,1,-30,-30 + dw 15,0,1,20 + dw 205,1,20,-50 + dw 205,1,30,0 + dw 15,0,5,20 + dw 205,1,-30,-20 + dw 205,1,0,0 + + dw 209 + +_data ends + END diff --git a/OBJECT1.BOD b/OBJECT1.BOD new file mode 100644 index 0000000..12f4d3c Binary files /dev/null and b/OBJECT1.BOD differ diff --git a/OBJECT2.ASM b/OBJECT2.ASM new file mode 100644 index 0000000..0035f77 --- /dev/null +++ b/OBJECT2.ASM @@ -0,0 +1,233 @@ +;------------------------------------------------------- +; object course data for IZMIR +; stage 2 +;------------------------------------------------------- + .386 + +_GOTO equ 230 + +object struc + + obj_no dd ? ; 0 + + x dw ? ; coordinate + y dw ? ; + z dw ? ; + + dlx dw ? ; delta x + dly dw ? ; delta y + dlz dw ? ; delta z + + ix dw ? ; interaction + iy dw ? ; + iz dw ? ; + + interaction dw ? ; + z_clip dw ? ; + sco dw ? ; + + stat dd ? ; status + spr_no dd ? ; sprite number + sfactor dd ? ; scale + spr_data dd ? ; pointer of sprite image data + course dd ? ; pointer of course + + crea_rt dd ? ; object creation routine + spr_rt dd ? ; sprite routine + course_rt dd ? ; course routine + course_off dd ? ; course offset + +object ends + + +_data segment public use32 'DATA' + +extrn s2tan_spr_data1: dword +extrn s2tan_spr_data2: dword +extrn s2tan_spr_data3: dword +extrn s2tan_spr_data4: dword +extrn s2tan_spr_data5: dword +extrn s2tan_spr_data6: dword +extrn s2tan_spr_data7: dword +extrn rock01_spr_data: dword +extrn rock02_spr_data: dword +extrn s2boss1_spr_data: dword + + ORG 0 +OBJ_DATA label +enemy_type label word +object <1, 0, -100, 2500,,,,,,, 1, 2500, 30, 2, 0, 0, offset s2tan_spr_data1, offset tan_course1, 0, 1,0,0> +; robot in air +object <2, 0, -100, 2500,,,,,,, 1, 2500, 40, 2, 0, 128, offset s2tan_spr_data2, offset tan_course2, 0, 1,0,0> +; ball in air +object <3, 0, 0, 2500,,,,,,, 1, 2500, 40, 2, 0, 128, offset s2tan_spr_data3, offset tan_course3, 0, 0,0,0> +; ball on water +object <4, 0, -200, 150,,,,,,, 1, 2500, 30, 2, 0, 0, offset s2tan_spr_data4, offset tan_course4, 0, 1,0,0> +; UFO +object <5, 0, 0, 2500,,,,,,, 1, 2500, 30, 2, 0, 0, offset s2tan_spr_data5, offset tan_course5, 0, 0,0,0> +; ship +object <6, 0, 0, 2500,,,,,,, 1, 2500, 20, 2, 0, 0, offset s2tan_spr_data6, offset tan_course6, 0, 0,0,0> +; ship with wheel +object <7, 0, 0, 2500,,,,,,, 0, 2500, 0, 7, 0, 128, offset s2tan_spr_data7, offset tan_course7, 0, 0,0,0> +; beam on water + +object <8, 0, 0, 2500,,,,,,, 0, 2500, 0, 2, 0, 0, offset rock01_spr_data, offset rock_course, 0, 0,0,0> +; rock 1 +object <9, 0, 0, 2500,,,,,,, 0, 2500, 0, 2, 0, 0, offset rock02_spr_data, offset rock_course, 0, 0,0,0> +; rock 2 + +object <10, 0, 0, 2500,,,,,,, 1, 2500, 500, 5000, 0, 128, offset s2boss1_spr_data, offset boss_course, 0, 0,0,0> +; boss + + +;--------------------------------------------------------------------- + +tan_course1 label word ; robot in air + dw 0,0,0,-25, 1,0,0,-25, 2,0,0,-25 + dw 232,500 + dd conti1,conti1,tan_course1 +conti1: + dw 3,0,0,-5, 3,0,0,-5, 4,0,0,0 + dw 4,0,0,0, 5,0,0,5, 5,0,0,10 + dw 201,1,0,0 + dw 6,0,0,15, 7,0,0,15, 8,0,0,15, 9,0,0,10 + dw 201,1,0,0 +cruse: dw 9,0,0,-5 + dw 233,1 + dd conti2,conti2,cruse +conti2: + dw 1,0,0,-25, 2,0,0,-25, -1 + +tan_course2 label word ; ball in air + dw 0,0,0,-5, 1,0,5,-5, 2,0,10,-5 + dw 3,0,15,-5, 4,0,20,-5 + + dw 0,0,25,-5, 1,0,20,-5, 2,0,15,-5 + dw 3,0,10,-5, 4,0,5,-5 + + dw 0,0,0,-5, 1,0,-5,-5, 2,0,-10,-5 + dw 3,0,-15,-5, 4,0,-20,-5 + + dw 0,0,-25,-5, 1,0,-20,-5, 2,0,-15,-5 + dw 3,0,-10,-5, 4,0,-5,-5 + + dw _GOTO + dd tan_course2 + +tan_course3 label word ; ball on the water + dw 0,0,0,-5, 1,5,0,-5, 2,10,0,-5 + dw 0,15,0,-5, 1,20,0,-5, 2,25,0,-5 + dw 0,20,0,-5, 1,15,0,-5, 2,10,0,-5 + dw 0,5,0,-5, 1,0,0,-5, 2,-5,0,-5 + dw 0,-10,0,-5, 1,-15,0,-5, 2,-20,0,-5 + dw 0,-25,0,-5, 1,-20,0,-5, 2,-15,0,-5 + dw 0,-10,0,-5, 1,-5,0,-5 + dw _GOTO + dd tan_course3 + +tan_course4 label word ; UFO right to left + dw 0,0,10,50, 1,0,10,50, 2,0,10,50 + dw 4,0,5,50, 5,0,5,50, 6,0,5,50 + dw 7,0,0,60, 8,0,0,60, 9,0,0,60 + dw 10,0,0,50, 11,0,0,50, 12,0,0,50 + dw 234,10 + dd conti400,conti400,conti401 +conti400: + dw 13,-5,0,50, 14,-5,0,40, 15,-10,0,30 + dw 201,1,0,0 + dw 16,-20,0,20, 201,1,0,0, 17,-30,0,0, -1 +conti401: + dw 13+256,5,0,50, 14+256,5,0,40, 15+256,10,0,30 + dw 201,1,0,0 + dw 16+256,20,0,20, 201,1,0,0, 17+256,30,0,0, -1 + +tan_course5 label word ; ship + dw 0,0,0,-5, 1,0,0,-5, 2,0,0,-5 + dw 3,0,0,-5, 4,0,0,-5, 5,0,0,-5 + dw 204,-1 + dw 6,0,0,-5 + dw 201,1,0,0 + dw 7,0,0,-5, 8,0,0,-5, 9,0,0,-5, 9,0,0,-5 + dw 8,0,0,-5, 7,0,0,-5, 6,0,0,-5, 5,0,0,-5 + dw 204,1 + dw 4,0,0,-5, 3,0,0,-5 + dw 0,0,0,-5, 1,0,0,-5, 2,0,0,-5 + dw _GOTO + dd tan_course5 + +tan_course6 label word ; ship with wheel + dw 0,0,0,-5, 1,0,0,-5, 2,0,0,-5 + dw 3,0,0,-5, 4,0,0,-5, 5,0,0,-5 + dw 204,-1 + dw 6,0,0,-5 + dw 201,1,0,0 + dw 7,0,0,-5, 8,0,0,-5, 9,0,0,-5, 9,0,0,-5 + dw 8,0,0,-5, 7,0,0,-5, 6,0,0,-5, 5,0,0,-5 + dw 204,1 + dw 4,0,0,-5, 3,0,0,-5 + dw 0,0,0,-5, 1,0,0,-5, 2,0,0,-5 + dw _GOTO + dd tan_course6 + + +tan_course7 label word ; high beam + dw 0,0,0,0, 1,0,0,0, 2,0,0,0 + dw 3,0,0,0, 4,0,0,0 + dw _GOTO + dd tan_course7 + +rock_course label word ; + dw 0,0,0,0, 1,0,0,0, 2,0,0,0 + dw _GOTO + dd rock_course + +boss_course label word ; + dw 0,0,0,-5 + dw 232,800 + dd contib1,contib1,boss_course +contib1: + dw 1,0,0,0, 2,0,0,0 + dw 202,3, 202,4, 202,5 + dw 202,6, 202,7, 202,8, 202,9 + dw 202,10, 202,11, 202,12 +contib2: + dw 234,30 + dd left00,conti00,right00 +conti00: + dw 201,1,0,-100 + dw 233,5000-400 + dd bosskill,bosskill,conti01 +conti01: + dw 13,0,0,0 + dw 232,200 + dd backmove,contib2,contib2 +backmove: + dw 201,0,0,-100 + dw 13,0,0,20, 12,0,0,25, 11,0,0,30 + dw 12,0,0,40, 13,0,0,40 + dw 232,500 + dd backmove,contib2,contib2 + +left00: + dw 13,-20,0,20 + dw _GOTO + dd conti00 +right00: + dw 13,20,0,20 + dw _GOTO + dd conti00 + +bosskill: + dw 12,0,0,20, 202,11 + dw 205,1,0,-10 + dw 202,10, 202,9, 202,8 + dw 205,1,0,0 + dw 202,7, 202,6, 202,5, 202,4 + dw 205,1,-20,0 + dw 205,1,20,0 + dw 202,3, 202,2, 202,1 + dw 205,1,-40,0 + dw 202,0 + dw 209 +_data ends + END diff --git a/OBJECT2.BOD b/OBJECT2.BOD new file mode 100644 index 0000000..c8710ba Binary files /dev/null and b/OBJECT2.BOD differ diff --git a/OBJECT3.ASM b/OBJECT3.ASM new file mode 100644 index 0000000..bcaf052 --- /dev/null +++ b/OBJECT3.ASM @@ -0,0 +1,395 @@ +;------------------------------------------------------- +; object course data for IZMIR +; stage 3 +;------------------------------------------------------- + .386 + +_GOTO equ 230 + +object struc + + obj_no dd ? ; 0 + + x dw ? ; coordinate + y dw ? ; + z dw ? ; + + dlx dw ? ; delta x + dly dw ? ; delta y + dlz dw ? ; delta z + + ix dw ? ; interaction + iy dw ? ; + iz dw ? ; + + interaction dw ? ; + z_clip dw ? ; + sco dw ? ; + + stat dd ? ; status + spr_no dd ? ; sprite number + sfactor dd ? ; scale + spr_data dd ? ; pointer of sprite image data + course dd ? ; pointer of course + + crea_rt dd ? ; object creation routine + spr_rt dd ? ; sprite routine + course_rt dd ? ; course routine + course_off dd ? ; course offset + +object ends + + +_data segment public use32 'DATA' + +extrn s3tan_spr_data1: dword +extrn s3tan_spr_data2: dword +extrn s3tan_spr_data3: dword +extrn s3tan_spr_data4: dword +extrn s3tan_spr_data5: dword +extrn s3tan_spr_data6: dword +extrn s3tan_spr_data7: dword +extrn s3tan_spr_data8: dword +extrn s3boss1_spr_data: dword + + ORG 0 +OBJ_DATA label +enemy_type label word +object <1, 0, 0, 2500,,,,,,, 1, 2500, 40, 2, 0, 0, offset s3tan_spr_data1, offset tan_course1, 0, 0,0,0> +; robot on +object <2, 0, -100, 2500,,,,,,, 1, 2500, 40, 2, 0, 128, offset s3tan_spr_data2, offset tan_course2, 0, 1,0,0> +; ball in air +object <3, 0, -100, 2000,,,,,,, 1, 2500, 30, 2, 0, 128, offset s3tan_spr_data3, offset tan_course3, 0, 1,0,0> +; robot in air +object <4, 0, 0, 2500,,,,,,, 1, 2500, 10, 2, 0, 0, offset s3tan_spr_data4, offset tan_course4, 0, 0,0,0> +; tank +object <5, 0, -250, 150,,,,,,, 1, 2500, 20, 2, 0, 128, offset s3tan_spr_data5, offset tan_course5, 0, 1,0,0> +; plane +object <6, 0, -250, 150,,,,,,, 1, 2500, 30, 2, 0, 0, offset s3tan_spr_data6, offset tan_course6, 0, 1,0,0> +; UFO +object <7, 0, 0, 2500,,,,,,, 0, 2500, 0, 7, 0, 128, offset s3tan_spr_data7, offset tan_course7, 0, 0,0,0> +; beam +object <8, 0, -250, 150,,,,,,, 1, 2500, 30, 2, 0, 128, offset s3tan_spr_data8, offset tan_course8, 0, 1,0,0> +; plane (kaori) + +object <9, 0, 0, 2500,,,,,,, 1, 2500, 500, 5000, 0, 128, offset s3boss1_spr_data, offset boss_course, 0, 0,0,0> +; BOSS + + +;--------------------------------------------------------------------- +tan_course1 label word ; robot on earth + dw 0,0,0,-5 + dw 201,0,-10,-60 + dw 1,0,0,-5 + dw 2,0,0,-5 + dw 3,0,0,-5 + dw 4,0,0,-5 + dw 5,0,0,-5 + dw _GOTO + dd tan_course1 + +tan_course2 label word ; ball in air + dw 0,0,0,-5, 1,0,5,-5, 2,0,10,-5 + dw 3,0,15,-5, 4,0,20,-5 + + dw 0,0,25,-5, 1,0,20,-5, 2,0,15,-5 + dw 3,0,10,-5, 4,0,5,-5 + + dw 0,0,0,-5, 1,0,-5,-5, 2,0,-10,-5 + dw 3,0,-15,-5, 4,0,-20,-5 + + dw 0,0,-25,-5, 1,0,-20,-5, 2,0,-15,-5 + dw 3,0,-10,-5, 4,0,-5,-5 + + dw _GOTO + dd tan_course2 + + +tan_course3 label word ; robot in air + + dw 234,30 + dd course301,loop300,course303 + +course301: + dw 0,-20,0,0 + dw 234,30 + dd course301,conti300,conti300 +conti300: + dw 1,-5,0,0, 2,0,0,-5, 202,3 + dw 4,0,0,-10, 5,0,0,-15, 6,0,0,-20 + +loop300: + dw 7,0,0,-25 + dw 232,1000 + dd conti301,conti301,loop300 +conti301: + dw 6,0,0,-20, 5,0,0,-15, 4,0,0,-10 + dw 201,1,0,0 + dw 202,4, 202,4, 202,4 + dw 201,1,0,0 + dw 4,0,0,-5, 5,0,0,-10, 6,0,0,-15 +loop301: + dw 7,0,0,-15 + dw 232,500 + dd conti302,conti302,loop301 +conti302: + dw 6,0,0,-10, 5,0,0,0, 4,0,0,10 + dw 201,1,0,0 + dw 4,0,0,20, 202,4 + dw 201,1,0,0 + dw 202,4, 202,4 + dw 201,1,0,0 + dw 4,0,0,-5, 5,0,0,-10, 6,0,0,-15 + dw 7,0,0,-15, -1 +;; +course303: + dw 0+256,20,0,0 + dw 234,30 + dd conti303,conti303,course303 +conti303: + dw 1+256,-5,0,0, 2+256,0,0,-5, 202,3+256 + dw 4,0,0,-10, 5,0,0,-15, 6,0,0,-20 + dw _GOTO + dd loop300 + + +tan_course4 label word ; tank + dw 0,5,0,-5, 1,5,0,-5, 2,0,0,-5, 3,5,0,-5, 4,5,0,-5 + dw 0,5,0,-10, 1,5,0,-10, 2,0,0,-10, 3,5,0,-10, 4,5,0,-10 + dw 200,10, 201,1,-5,-20 + dw 0,5,0,-5, 1,5,0,-5, 2,0,0,-5, 3,5,0,-5, 4,5,0,-5 + dw 201,1,-5,-20, 0,-5,0,-5, 1,-5,0,-5, 2,0,0,-5, 3,-5,0,-5, 4,-5,0,-5 + dw 201,1,-5,-20, 0,-5,0,-10, 1,-5,0,-10, 2,0,0,-10, 3,-5,0,-10, 4,-5,0,-10 + dw 0,-5,0,-5, 1,-5,0,-5, 2,0,0,-5, 3,-5,0,-5, 4,-5,0,-5 + dw _GOTO + dd tan_course4 + +tan_course5 label word ; plane + dw 0,0,2,80, 200,5, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80 + dw 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80 + dw 0,0,3,60, 0,0,3,60, 0,0,3,60, 0,0,3,40, 0,0,3,40, 0,0,3,40 + dw 0,0,3,40, 0,0,3,40, 0,0,3,30, 0,0,3,20, 0,0,3,10, 0,0,3,10 + dw 234,5 + dd course502,conti500,conti500 +conti500: + dw 1,10,3,10, 1,10,3,10, 1,10,3,10, 1,10,3,10 + dw 2,20,3,10, 2,20,3,10, 2,20,3,10 + dw 2,20,3,10, 2,20,3,10 + dw 3,30,3,0, 3,30,3,0 + dw 3,30,3,0, 3,30,3,0, 201,0,0,0 + dw 4,20,2,-10, 4,20,2,-10, 200,10, 201,0,0,0 + dw 4,20,2,-10, 4,20,2,-10, 4,20,2,-10 + dw 5,10,2,-10, 5,10,2,-10, 5,5,3,-15, 5,5,4,-15, 201,0,0,0 + dw _GOTO + dd conti501 +course502: + dw 1+256,-10,3,10, 1+256,-10,3,10, 1+256,-10,3,10, 1+256,-10,3,10 + dw 2+256,-20,3,10, 2+256,-20,3,10, 2+256,-20,3,10 + dw 2+256,-20,3,10, 2+256,-20,3,10 + dw 3+256,-30,3,0, 3+256,-30,3,0 + dw 3+256,-30,3,0, 3+256,-30,3,0, 201,0,0,0 + dw 4+256,-20,2,-10, 4+256,-20,2,-10, 200,10, 201,0,0,0 + dw 4+256,-20,2,-10, 4+256,-20,2,-10, 4+256,-20,2,-10 + dw 5+256,-10,2,-10, 5+256,-10,2,-10, 5+256,-5,3,-15, 5+256,-5,4,-15, 201,0,0,0 +conti501: + dw 6,0,5,-20, 6,0,0,-30, -1 + +tan_course6 label word ; UFO + dw 0,0,10,50, 1,0,10,50, 2,0,10,50 + dw 4,0,5,50, 5,0,5,50, 6,0,5,50 + dw 7,0,0,60, 8,0,0,60, 9,0,0,60 + dw 10,0,0,50, 11,0,0,50 + dw 201,1,0,0 + dw _GOTO + dd tan_course6 + +tan_course7 label word ; high beam + dw 0,0,0,0, 1,0,0,0, 2,0,0,0 + dw 3,0,0,0, 4,0,0,0 + dw _GOTO + dd tan_course7 + +tan_course8 label word ; plane(kaori) + dw 0,0,0,50 + dw 232,800 + dd tan_course8,tan_course8,conti800 +conti800: + dw 234,10 + dd cos800,cos800,cos801 +cos800: + dw 1+256,0,-5,40, 2+256,0,-10,35, 3+256,0,-5,25 + dw 4+256,0,0,20, 5+256,0,5,15 + dw 6+256,-10,15,15, 7+256,-20,15,15, 8+256,-30,15,15, 9+256,-40,15,15 + dw 10+256,-30,20,10, 11+256,-20,15,10, 12+256,-10,10,5, 13+256,-5,5,0 + dw 201,1,0,0 + dw 14+256,-5,0,0 + dw _GOTO + dd loop800 +cos801: + dw 1,0,-5,40, 2,0,-10,35, 3,0,-5,25 + dw 4,0,0,20, 5,0,5,15 + dw 6,10,15,15, 7,20,15,15, 8,30,15,15, 9,40,15,15 + dw 10,30,20,10, 11,20,15,10, 12,10,10,5, 13,5,5,0 + dw 201,1,0,0 + dw 14,5,0,-5 +loop800: + dw 15,0,0,-10 + dw 15,0,0,-15 + dw 201,1,0,0 + dw 15,0,0,-20 + dw 15,0,0,-20 + dw _GOTO + dd loop800 + + +;;BOSS;; +boss_course label word ; + dw 0,0,0,-15, 1,0,0,-15, 2,0,0,-15, 3,0,0,-15 + dw 201,1,-60,-60 + dw 201,1, 60,-60 + dw 4,0,0,-15, 5,0,0,-15, 6,0,0,-15, 7,0,0,-15 + dw 8,0,0,-15, 9,0,0,-15, 10,0,0,-15 + dw 232,1000 + dd contib1,contib1,boss_course +contib1: + dw 0,0,0,10 + dw 1,0,0,10 + dw 2,0,0,10 + dw 201,1,-50,-60 + dw 201,1, 50,-60 + dw 3,0,0,10 + dw 4,0,0,10 + dw 5,0,0,10 +check00:dw 232,200 + dd backmove,backmove,contib2 +contib2: + dw 6,0,0,20 + dw 7,0,0,20 + dw 8,0,0,20 + dw 201,1,-50,-60 + dw 201,1, 50,-60 + dw 9,0,0,20 + dw 10,0,0,20 + dw 233,5000-400 + dd chkd0,chkd0,contib3 +contib3: + dw 6,0,0,20 + dw 7,0,0,20 +check01:dw 232,200 + dd backmove,backmove,contib1 +backmove: + dw 0,0,0,40, 1,0,0,40, 2,0,0,40, 3,0,0,40 + dw 201,0,0,-60 + dw 4,0,0,40, 5,0,0,45, 6,0,0,40, 7,0,0,40 + dw 8,0,0,40, 9,0,0,40, 10,0,0,40 + dw 201,0,0,-60 + dw 234,50 + dd left00,check01,right00 + +left00: dw 210,-25,0,25 + dw _GOTO + dd check01 + +right00:dw 210,25,0,25 + dw _GOTO + dd check01 + +bossdown: + dw 11,0,0,-15, 12,0,0,-15, 13,0,0,-15, 14,0,0,-15 + dw 201,1,-60,-60 + dw 201,1, 60,-60 + dw 15,0,0,-15, 16,0,0,-15, 17,0,0,-15, 18,0,0,-15 + dw 19,0,0,-15, 20,0,0,-15, 21,0,0,-15 + dw _GOTO + dd chkd001 +chkd0: + dw 11,0,0,0 + dw 205,1,50,-100 + dw 205,1,0,-90 + dw 205,1,-50,-80 + dw 205,1,70,-70 + dw 205,1,-40,-110 +chkd001: + dw 232,1000 + dd contid1,contid1,bossdown +contid1: + dw 11,0,0,10 + dw 12,0,0,10 + dw 13,0,0,10 + dw 14,0,0,10 + dw 201,1,10,-60 + dw 201,1,-10,-60 + dw 232,200 + dd backmove1,backmove1,contid2 +contid2: + dw 15,0,0,20, 16,0,0,20 + dw 201,1,-60,-60 + dw 201,1, 60,-60 + dw 17,0,0,20, 18,0,0,20 + dw 233,5000-600 + dd bosskill,bosskill,contid3 +contid3: + dw 19,0,0,20, 20,0,0,20 + dw 21,0,0,20 +check001:dw 232,200 + dd backmove1,backmove1,contid1 +backmove1: + dw 201,0,0,-60 + dw 205,1,0,0 + dw 11,0,0,40, 12,0,-5,40, 13,0,-10,40, 14,0,-15,40, 15,0,-15,40 + dw 201,0,0,-60 + dw 16,0,0,40, 17,0, 5,40, 18,0, 10,40, 19,0, 15,40, 20,0,15,40 + dw 21,0,10,40 + dw 201,0,0,-60 + dw 234,50 + dd left01,check001,right01 + +left01: dw 210,-25,0,25 + dw _GOTO + dd check001 + +right01:dw 210,25,0,25 + dw _GOTO + dd check001 + + +bosskill: + dw 205,1,0,0 + dw 205,1,30,20 + dw 11,0,0,25, 11,0,0,25 + dw 205,1,0,20 + dw 12,0,0,20, 12,0,0,20 + dw 13,0,0,20, 13,0,0,20 + dw 14,0,0,20, 14,0,0,20 + dw 15,0,0,20, 15,0,0,20 + dw 205,1,-20,-20 + dw 15,0,0,20 + dw 205,1,60,-20 + dw 16,0,0,20 + dw 205,1,-60,-40 + dw 16,0,0,20 + dw 205,1,-60,-30 + dw 17,0,0,20 + dw 205,1,-40,-20 + dw 18,0,0,20 + dw 205,1,40,-20 + dw 19,0,0,20 + dw 205,1,-40,-20 + dw 20,0,0,20 + dw 205,1,-60,-80 + dw 205,1,40,-40 + dw 21,0,0,20 + dw 205,1,30,-10 + dw 205,1,-30,-20 + dw 205,1,-30,-30 + dw 21,0,0,20 + dw 205,1,20,-50 + dw 205,1,30,0 + dw 21,0,0,20 + dw 205,1,-30,-20 + dw 205,1,0,0 + + dw 209 + +_data ends + END diff --git a/OBJECT3.BOD b/OBJECT3.BOD new file mode 100644 index 0000000..a248c29 Binary files /dev/null and b/OBJECT3.BOD differ diff --git a/OBJECT4.ASM b/OBJECT4.ASM new file mode 100644 index 0000000..0e67a3f --- /dev/null +++ b/OBJECT4.ASM @@ -0,0 +1,379 @@ +;------------------------------------------------------- +; object course data for IZMIR +; stage 4 +;------------------------------------------------------- + .386 + +_GOTO equ 230 + +object struc + + obj_no dd ? ; 0 + + x dw ? ; coordinate + y dw ? ; + z dw ? ; + + dlx dw ? ; delta x + dly dw ? ; delta y + dlz dw ? ; delta z + + ix dw ? ; interaction + iy dw ? ; + iz dw ? ; + + interaction dw ? ; + z_clip dw ? ; + sco dw ? ; + + stat dd ? ; status + spr_no dd ? ; sprite number + sfactor dd ? ; scale + spr_data dd ? ; pointer of sprite image data + course dd ? ; pointer of course + + crea_rt dd ? ; object creation routine + spr_rt dd ? ; sprite routine + course_rt dd ? ; course routine + course_off dd ? ; course offset + +object ends + + +_data segment public use32 'DATA' + +extrn s4tan_spr_data1: dword +extrn s4tan_spr_data2: dword +extrn s4tan_spr_data3: dword +extrn s4tan_spr_data4: dword +extrn s4tan_spr_data5: dword +extrn s4tan_spr_data6: dword +extrn s4tan_spr_data7: dword +extrn s4tan_spr_data8: dword +extrn s4tan_spr_data9: dword +extrn s4tan_spr_data10: dword +extrn s4tan_spr_data11: dword +extrn s4boss1_spr_data: dword + + ORG 0 +OBJ_DATA label +enemy_type label word +object <1, 0, -150, 2500,,,,,,, 1, 2500, 30, 2, 0, 0, offset s4tan_spr_data1, offset tan_course1, 0, 1,0,0> +; UFO 2 +object <2, 0, -100, 2500,,,,,,, 1, 2500, 40, 2, 0,128, offset s4tan_spr_data2, offset tan_course2, 0, 1,0,0> +; ball in air +object <3, 0, 0, 2500,,,,,,, 1, 2500, 10, 2, 0, 0, offset s4tan_spr_data3, offset tan_course3, 0, 0,0,0> +; tank +object <4, 0, 0, 2500,,,,,,, 1, 2500, 10, 2, 0, 0, offset s4tan_spr_data4, offset tan_course4, 0, 1,0,0> +; tank +object <5, 0, -150, 150,,,,,,, 1, 2500, 20, 2, 0,128, offset s4tan_spr_data5, offset tan_course5, 0, 0,0,0> +; plane roll +object <6, 0, -100, 2500,,,,,,, 1, 2500, 30, 2, 0,128, offset s4tan_spr_data6, offset tan_course6, 0, 1,0,0> +; UFO +object <7, 0, -250, 150,,,,,,, 1, 2500, 30, 2, 0,128, offset s4tan_spr_data7, offset tan_course7, 0, 1,0,0> +; UFO +object <8, 0, 0, 2500,,,,,,, 0, 2500, 0, 7, 0,128, offset s4tan_spr_data8, offset tan_course8, 0, 0,0,0> +; beam +object <9, 0, -250, 150,,,,,,, 1, 2500, 30, 2, 0, 0, offset s4tan_spr_data9, offset tan_course9, 0, 1,0,0> +; plane +object <10, 0, 0, 2500,,,,,,, 0, 2500, 0, 2, 0, 0, offset s4tan_spr_data10, 0, 0, 0,0,0> +; rock 1 +object <11, 0, 0, 2500,,,,,,, 0, 2500, 0, 2, 0, 0, offset s4tan_spr_data11, 0, 0, 0,0,0> +; rock 2 + +object <12, 0, -100, 2500,,,,,,, 1, 2500, 500, 5000, 0, 128, offset s4boss1_spr_data, offset boss_course, 0, 1,0,0> +; boss + + +;--------------------------------------------------------------------- +tan_course1 label word ; ball in air + dw 0,0,0,-5, 1,0,5,-5, 2,0,10,-5 + dw 3,0,15,-5, 4,0,20,-5 + + dw 201,0,0,0 + dw 0,0,25,-5, 1,0,20,-5, 2,0,15,-5 + dw 3,0,10,-5, 4,0,5,-5 + + dw 0,0,0,-5, 1,0,-5,-5, 2,0,-10,-5 + dw 3,0,-15,-5, 4,0,-20,-5 + + dw 201,0,0,0 + dw 0,0,-25,-5, 1,0,-20,-5, 2,0,-15,-5 + dw 3,0,-10,-5, 4,0,-5,-5 + + dw _GOTO + dd tan_course1 + +tan_course2 label word ; ball in air + dw 0,0,0,-5, 1,0,5,-5, 2,0,10,-5 + dw 3,0,15,-5, 4,0,20,-5 + + dw 0,0,25,-5, 1,0,20,-5, 2,0,15,-5 + dw 3,0,10,-5, 4,0,5,-5 + + dw 0,0,0,-5, 1,0,-5,-5, 2,0,-10,-5 + dw 3,0,-15,-5, 4,0,-20,-5 + + dw 0,0,-25,-5, 1,0,-20,-5, 2,0,-15,-5 + dw 3,0,-10,-5, 4,0,-5,-5 + + dw _GOTO + dd tan_course2 + +tan_course3 label word ; + dw 0,0,0,-5, 1,0,0,-5, 2,0,0,-5 + dw 3,0,0,-5, 4,0,0,-5, 5,0,0,-5 + dw 6,0,0,-5 + dw 201,1,0,-20 + dw _GOTO + dd tan_course3 + +tan_course4 label word ; TANK + dw 0,0,0,-5, 1,0,0,-5, 2,0,0,-5 + dw 3,0,0,-5, 4,0,0,-5, 5,0,0,-5 + dw 6,0,0,-5 + dw 201,1,0,-20 + dw _GOTO + dd tan_course4 + +tan_course5 label word ; plane rolling + dw 10,0,0,30, 9,0,0,40, 0,0,0,40 + dw 0,0,0,40 + dw 0,0,0,40 + dw 0,0,0,40 + dw 0,0,0,40 + dw 0,0,0,40 + dw 0,0,0,40 + dw 201,0,-20,0 + dw 201,0,20,0 +backmove: + dw 0,0,0,50 + dw 232,1200 + dd backmove,backmove,closing +closing: + dw 0,0,0,-15 + dw 232,900 + dd roll00,closing,closing +roll00: + dw 234,5 + dd right500,right500,left500 +right500: + dw 201,1,0,0 + dw 1,30,0,20, 2,30,0,20 + dw 201,1,0,0 + dw 3,30,0,20, 4,30,0,20 + dw 201,1,0,0 + dw 5,30,0,15, 6,30,0,15 + dw 201,1,0,0 + dw 7,30,0,10, 8,30,0,5 + dw 0,0,0,-25, -1 +left500: + dw 201,1,0,0 + dw 1+256,-30,0,20, 2+256,-30,0,20 + dw 201,1,0,0 + dw 3+256,-30,0,20, 4+256,-30,0,20 + dw 201,1,0,0 + dw 5+256,-30,0,15, 6+256,-30,0,15 + dw 201,1,0,0 + dw 7+256,-30,0,10, 8+256,-30,0,5 + dw 0,0,0,-25, -1 + +tan_course6 label word ; UFO + dw 0,0,0,-4, 1,0,2,-4, 2,0,5,-4, 3,0,7,-4, 4,0,10,-4 + dw 200,10, 201,1,0,0 + dw 0,0,10,-4, 1,0,7,-4, 2,0,5,-4, 3,0,2,-4, 4,0,0,-4 + dw 0,0,0,-4, 1,0,-2,-4, 2,-0,-5,-4, 3,0,-7,-4, 4,0,-10,-4 + dw 0,0,-10,-4, 1,0,-7,-4, 2,0,-5,-4, 3,0,-2,-4, 4,0,0,-4 + dw _GOTO + dd tan_course6 + + +tan_course7 label word ; UFO + dw 0,0,10,50, 1,0,10,50, 2,0,10,50 + dw 4,0,5,50, 5,0,5,50, 6,0,5,50 + dw 7,0,0,60, 8,0,0,60, 9,0,0,60 + dw 10,0,0,50, 11,0,0,50 + dw 201,1,0,0 + dw _GOTO + dd tan_course7 + +tan_course8 label word ; high beam + dw 0,0,0,0, 1,0,0,0, 2,0,0,0 + dw 3,0,0,0, 4,0,0,0 + dw _GOTO + dd tan_course8 + +tan_course9 label word ; plane + dw 0,0,2,80, 200,5, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80 + dw 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80 + dw 0,0,3,60, 0,0,3,60, 0,0,3,60, 0,0,3,40, 0,0,3,40, 0,0,3,40 + dw 0,0,3,40, 0,0,3,40, 0,0,3,30, 0,0,3,20, 0,0,3,10, 0,0,3,10 + dw 234,5 + dd course902,conti900,conti900 +conti900: + dw 1,10,3,10, 1,10,3,10, 1,10,3,10, 1,10,3,10 + dw 2,20,3,10, 2,20,3,10, 2,20,3,10 + dw 2,20,3,10, 2,20,3,10 + dw 3,30,3,0, 3,30,3,0 + dw 3,30,3,0, 3,30,3,0, 201,0,0,0 + dw 4,20,2,-10, 4,20,2,-10, 200,10, 201,0,0,0 + dw 4,20,2,-10, 4,20,2,-10, 4,20,2,-10 + dw 5,10,2,-10, 5,10,2,-10, 5,5,3,-15, 5,5,4,-15, 201,0,0,0 + dw _GOTO + dd conti901 +course902: + dw 1+256,-10,3,10, 1+256,-10,3,10, 1+256,-10,3,10, 1+256,-10,3,10 + dw 2+256,-20,3,10, 2+256,-20,3,10, 2+256,-20,3,10 + dw 2+256,-20,3,10, 2+256,-20,3,10 + dw 3+256,-30,3,0, 3+256,-30,3,0 + dw 3+256,-30,3,0, 3+256,-30,3,0, 201,0,0,0 + dw 4+256,-20,2,-10, 4+256,-20,2,-10, 200,10, 201,0,0,0 + dw 4+256,-20,2,-10, 4+256,-20,2,-10, 4+256,-20,2,-10 + dw 5+256,-10,2,-10, 5+256,-10,2,-10, 5+256,-5,3,-15, 5+256,-5,4,-15, 201,0,0,0 +conti901: + dw 6,0,5,-20, 6,0,0,-30, -1 + + +;;BOSS;; +boss_course label word ; + dw 0,0,0,-15, 1,0,0,-15, 2,0,0,-15, 3,0,0,-15 + dw 201,1,-60,0 + dw 201,1, 60,0 + dw 4,0,0,-15, 5,0,0,-15, 6,0,0,-15, 7,0,0,-15 + dw 8,0,0,-15, 9,0,0,-15 + dw 232,1000 + dd contib1,contib1,boss_course +contib1: + dw 0,0,0,10 + dw 1,0,0,10 + dw 2,0,0,10 + dw 201,1,-50,0 + dw 201,1, 50,0 + dw 3,0,0,10 + dw 4,0,0,10 + dw 5,0,0,10 +check00:dw 232,200 + dd backmove0,backmove0,contib2 +contib2: + dw 6,0,0,20 + dw 7,0,0,20 + dw 8,0,0,20 + dw 9,0,0,20 + dw 233,5000-350 + dd chkd0,chkd0,contib3 +contib3: + dw 6,0,0,20 + dw 7,0,0,20 +check01:dw 232,200 + dd backmove0,backmove0,contib1 +backmove0: + dw 0,0,0,30, 1,0,0,30, 2,0,0,30, 3,0,0,30 + dw 201,0,0,0 + dw 4,0,0,30, 5,0,0,30, 6,0,0,30, 7,0,0,30 + dw 8,0,0,30, 9,0,0,30 + dw 201,0,0,0 + dw 234,50 + dd left00,check01,right00 + +left00: dw 210,-25,0,25 + dw _GOTO + dd check01 + +right00:dw 210,25,0,25 + dw _GOTO + dd check01 + +bossdown: + dw 10,0,0,0 + dw 11,0,0,0, 12,0,0,0, 13,0,0,0, 14,0,0,0 + dw 201,1,-60,0 + dw 201,1, 60,0 + dw 15,0,0,0, 16,0,0,0, 17,0,0,0, 18,0,0,0 + dw 19,0,0,0 +chkd0: + dw 10,0,0,0 + dw 205,1,-100,0 + dw 205,1,150,5 + dw 205,1,-150,-5 + dw 205,1,-150,50 + dw 205,1,150,5 + + dw 232,1000 + dd contid1,contid1,bossdown +contid1: + dw 10,0,0,10 + dw 11,0,0,20 + dw 12,0,0,10 + dw 13,0,0,20 + dw 14,0,0,10 + dw 201,1,-50,0 + dw 201,1, 50,0 + dw 232,200 + dd backmove1,backmove1,contid2 +contid2: + dw 15,0,0,10, 16,0,0,20 + dw 17,0,0,10, 18,0,0,10 + dw 233,5000-500 + dd bosskill,bosskill,contid3 +contid3: + dw 19,0,0,10 +check001:dw 232,200 + dd backmove1,backmove1,contid1 +backmove1: + dw 201,0,0,0 + dw 205,1,0,0 + dw 11,0,0,40, 12,0,-5,40, 13,0,-10,40, 14,0,-15,40, 15,0,0,40 + dw 16,0,0,40, 17,0, 5,40, 18,0, 10,40, 19,0, 15,40 + dw 201,0,0,0 + dw 234,50 + dd left01,check001,right01 + +left01: dw 210,-25,0,20 + dw _GOTO + dd check001 + +right01:dw 210,25,0,20 + dw _GOTO + dd check001 + + +bosskill: + dw 205,1,0,0 + dw 205,1,30,20 + dw 11,0,0,10, 11,0,0,10 + dw 205,1,0,20 + dw 12,0,0,20, 12,0,0,20 + dw 13,0,0,20, 13,0,0,20 + dw 14,0,0,20, 14,0,0,20 + dw 15,0,0,20, 15,0,0,20 + dw 205,1,-20,-10 + dw 15,0,0,20 + dw 205,1,30,-10 + dw 16,0,0,20 + dw 205,1,-30,-20 + dw 16,0,0,20 + dw 205,1,-30,-30 + dw 17,0,0,20 + dw 205,1,-20,-10 + dw 18,0,0,20 + dw 205,1,40,-10 + dw 19,0,0,20 + dw 205,1,-40,-20 + dw 19,0,0,20 + dw 205,1,-30,-40 + dw 205,1,20,-10 + dw 19,0,0,20 + dw 205,1,30,-10 + dw 205,1,-30,-20 + dw 205,1,-30,-30 + dw 19,0,0,20 + dw 205,1,20,-50 + dw 205,1,30,0 + dw 19,0,0,20 + dw 205,1,-30,-20 + dw 205,1,0,0 + + dw 209 + +_data ends + END diff --git a/OBJECT4.BOD b/OBJECT4.BOD new file mode 100644 index 0000000..4900318 Binary files /dev/null and b/OBJECT4.BOD differ diff --git a/OBJECT5.ASM b/OBJECT5.ASM new file mode 100644 index 0000000..6c65abf --- /dev/null +++ b/OBJECT5.ASM @@ -0,0 +1,382 @@ +;------------------------------------------------------- +; object course data for IZMIR +; stage 5 +;------------------------------------------------------- + .386 + +_GOTO equ 230 + +object struc + + obj_no dd ? ; 0 + + x dw ? ; coordinate + y dw ? ; + z dw ? ; + + dlx dw ? ; delta x + dly dw ? ; delta y + dlz dw ? ; delta z + + ix dw ? ; interaction + iy dw ? ; + iz dw ? ; + + interaction dw ? ; + z_clip dw ? ; + sco dw ? ; + + stat dd ? ; status + spr_no dd ? ; sprite number + sfactor dd ? ; scale + spr_data dd ? ; pointer of sprite image data + course dd ? ; pointer of course + + crea_rt dd ? ; object creation routine + spr_rt dd ? ; sprite routine + course_rt dd ? ; course routine + course_off dd ? ; course offset + +object ends + + +_data segment public use32 'DATA' + +extrn s5tan_spr_data1: dword +extrn s5tan_spr_data2: dword +extrn s5tan_spr_data3: dword +extrn s5tan_spr_data4: dword +extrn s5tan_spr_data5: dword +extrn s5tan_spr_data6: dword +extrn s5tan_spr_data7: dword +extrn s5tan_spr_data8: dword +extrn s5tan_spr_data9: dword +extrn s5boss1_spr_data: dword + + ORG 0 +OBJ_DATA label +enemy_type label word +object <1, 0, 0, 2500,,,,,,, 1, 2500, 10, 2, 0, 0, offset s5tan_spr_data1, offset tan_course1, 0, 0,0,0> +; tank5 +object <2, 0, -150, 2500,,,,,,, 1, 2500, 30, 2, 0, 0, offset s5tan_spr_data2, offset tan_course2, 0, 1,0,0> +; plane +object <3, 0, -150, 2500,,,,,,, 1, 2500, 40, 2, 0, 128, offset s5tan_spr_data3, offset tan_course3, 0, 1,0,0> +; ball in air +object <4, 0, -200, 150,,,,,,, 1, 2500, 50, 4, 0, 0, offset s5tan_spr_data4, offset tan_course9, 0, 1,0,0> +; big plane +object <5, 0, -150, 2500,,,,,,, 1, 2500, 20, 2, 0, 128, offset s5tan_spr_data5, offset tan_course5, 0, 1,0,0> +; UFO +object <6, 0, -250, 150,,,,,,, 1, 2500, 20, 2, 0, 128, offset s5tan_spr_data6, offset tan_course6, 0, 1,0,0> +; UFO +object <7, 0, -100, 2500,,,,,,, 1, 2500, 30, 3, 0, 128, offset s5tan_spr_data7, offset tan_course7, 0, 1,0,0> +; robot in air +object <8, 0, 0, 2500,,,,,,, 0, 2500, 0, 7, 0, 128, offset s5tan_spr_data8, offset tan_course8, 0, 0,0,0> +; beam +object <9, 0, -250, 150,,,,,,, 1, 2500, 30, 2, 0, 128, offset s5tan_spr_data9, offset tan_course9, 0, 1,0,0> +; plane + +object <10, 0, -10, 2500,,,,,,, 1, 2500,500, 5000, 0, 128, offset s5boss1_spr_data, offset boss_course, 0, 0,0,0> +; boss + + +;--------------------------------------------------------------------- +tan_course1 label word ; tank 5 + dw 0,0,0,-5, 1,0,0,-5, 2,0,0,-5 + dw 201,1,0,0 + dw _GOTO + dd tan_course1 + +tan_course2 label word ; plane 5 + dw 4,0,0,-10, 5,0,0,-10, 6,0,0,-10, 7,0,0,-10 + dw 232,500 + dd conti222,tan_course2,tan_course2 +conti222: + dw 3,0,10,-5, 2,0,10,-5, 1,0,10,-5, 0,0,10,-5 + dw 201,0,0,0 + dw 1,0,10,-5, 2,0,10,-5, 3,0,10,-5 + dw 201,0,0,0 +loop222: + dw 4,0,0,-10, 5,0,0,-10, 6,0,0,-10, 7,0,0,-10 + dw _GOTO + dd loop222 + +tan_course3 label word ; ball in air + dw 0,0,0,-5, 1,0,5,-5, 2,0,10,-5 + dw 3,0,15,-5, 4,0,20,-5 + + dw 0,0,25,-5, 1,0,20,-5, 2,0,15,-5 + dw 3,0,10,-5, 4,0,5,-5 + + dw 0,0,0,-5, 1,0,-5,-5, 2,0,-10,-5 + dw 3,0,-15,-5, 4,0,-20,-5 + + dw 0,0,-25,-5, 1,0,-20,-5, 2,0,-15,-5 + dw 3,0,-10,-5, 4,0,-5,-5 + + dw _GOTO + dd tan_course3 + +tan_course4 label word ; + dw 0,0,2,80, 200,5, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80 + dw 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80 + dw 0,0,3,60, 0,0,3,60, 0,0,3,60, 0,0,3,40, 0,0,3,40, 0,0,3,40 + dw 0,0,3,40, 0,0,3,40, 0,0,3,30, 0,0,3,20, 0,0,3,10, 0,0,3,10 + dw 1,-10,3,10, 1,-10,3,10, 1,-10,3,10, 1,-10,3,10 + dw 2,-20,3,10, 2,-20,3,10, 2,-20,3,10 + dw 2,-20,3,10, 2,-20,3,10 + dw 3,-30,3,0, 3,-30,3,0 + dw 3,-30,3,0, 3,-30,3,0, 201,0,0,0 + dw 4,-20,2,-10, 4,-20,2,-10, 200,10, 201,0,0,0 + dw 4,-20,2,-10, 4,-20,2,-10, 4,-20,2,-10 + dw 5,-10,2,-10, 5,-10,2,-10, 5,-5,3,-15, 5,-5,4,-15, 201,0,0,0 + dw 6,0,5,-20, 6,0,0,-30, -1 + +tan_course5 label word ; UFO + dw 0,0,0,-4, 1,0,2,-4, 2,0,5,-4, 3,0,7,-4, 4,0,10,-4 + dw 200,10, 201,1,0,0 + dw 0,0,10,-4, 1,0,7,-4, 2,0,5,-4, 3,0,2,-4, 4,0,0,-4 + dw 0,0,0,-4, 1,0,-2,-4, 2,-0,-5,-4, 3,0,-7,-4, 4,0,-10,-4 + dw 0,0,-10,-4, 1,0,-7,-4, 2,0,-5,-4, 3,0,-2,-4, 4,0,0,-4 + dw _GOTO + dd tan_course5 + +tan_course6 label word ; UFO + dw 0,0,10,50, 1,0,10,50, 2,0,10,50 + dw 4,0,5,50, 5,0,5,50, 6,0,5,50 + dw 7,0,0,60, 8,0,0,60, 9,0,0,60 + dw 10,0,0,50, 11,0,0,50 + dw 201,1,0,0 + dw _GOTO + dd tan_course6 + +tan_course7 label word ; robot in air + + dw 234,30 + dd course701,loop700,course703 + +course701: + dw 0,-20,0,0 + dw 234,30 + dd course701,conti700,conti700 +conti700: + dw 1,-5,0,0, 2,0,0,-5, 202,3 + dw 4,0,0,-10, 5,0,0,-15, 6,0,0,-20 + +loop700: + dw 7,0,0,-25 + dw 232,1000 + dd conti701,conti701,loop700 +conti701: + dw 6,0,0,-20, 5,0,0,-15, 4,0,0,-10 + dw 201,1,0,0 + dw 202,4, 202,4, 202,4 + dw 201,1,0,0 + dw 4,0,0,-5, 5,0,0,-10, 6,0,0,-15 +loop701: + dw 7,0,0,-15 + dw 232,500 + dd conti702,conti702,loop701 +conti702: + dw 6,0,0,-10, 5,0,0,0, 4,0,0,10 + dw 201,1,0,0 + dw 4,0,0,20, 202,4 + dw 201,1,0,0 + dw 202,4, 202,4 + dw 201,1,0,0 + dw 4,0,0,-5, 5,0,0,-10, 6,0,0,-15 + dw 7,0,0,-15, -1 +;; +course703: + dw 0+256,20,0,0 + dw 234,30 + dd conti703,conti703,course703 +conti703: + dw 1+256,-5,0,0, 2+256,0,0,-5, 202,3+256 + dw 4,0,0,-10, 5,0,0,-15, 6,0,0,-20 + dw _GOTO + dd loop700 + + +tan_course8 label word ; high beam + dw 0,0,0,0, 1,0,0,0, 2,0,0,0 + dw 3,0,0,0, 4,0,0,0 + dw _GOTO + dd tan_course8 + +tan_course9 label word ; plane + dw 0,0,2,80, 200,5, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80 + dw 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80 + dw 0,0,3,60, 0,0,3,60, 0,0,3,60, 0,0,3,40, 0,0,3,40, 0,0,3,40 + dw 0,0,3,40, 0,0,3,40, 0,0,3,30, 0,0,3,20, 0,0,3,10, 0,0,3,10 + dw 234,5 + dd course902,conti900,conti900 +conti900: + dw 1,10,3,10, 1,10,3,10, 1,10,3,10, 1,10,3,10 + dw 2,20,3,10, 2,20,3,10, 2,20,3,10 + dw 2,20,3,10, 2,20,3,10 + dw 3,30,3,0, 3,30,3,0 + dw 3,30,3,0, 3,30,3,0, 201,0,0,0 + dw 4,20,2,-10, 4,20,2,-10, 200,10, 201,0,0,0 + dw 4,20,2,-10, 4,20,2,-10, 4,20,2,-10 + dw 5,10,2,-10, 5,10,2,-10, 5,5,3,-15, 5,5,4,-15, 201,0,0,0 + dw _GOTO + dd conti901 +course902: + dw 1+256,-10,3,10, 1+256,-10,3,10, 1+256,-10,3,10, 1+256,-10,3,10 + dw 2+256,-20,3,10, 2+256,-20,3,10, 2+256,-20,3,10 + dw 2+256,-20,3,10, 2+256,-20,3,10 + dw 3+256,-30,3,0, 3+256,-30,3,0 + dw 3+256,-30,3,0, 3+256,-30,3,0, 201,0,0,0 + dw 4+256,-20,2,-10, 4+256,-20,2,-10, 200,10, 201,0,0,0 + dw 4+256,-20,2,-10, 4+256,-20,2,-10, 4+256,-20,2,-10 + dw 5+256,-10,2,-10, 5+256,-10,2,-10, 5+256,-5,3,-15, 5+256,-5,4,-15, 201,0,0,0 +conti901: + dw 6,0,5,-20, 6,0,0,-30, -1 + + +;;BOSS;; +boss_course label word ; + dw 0,0,0,-15, 1,0,0,-15, 2,0,0,-15, 3,0,0,-15 + dw 201,1,-60,-120 + dw 201,1, 60,-120 + dw 4,0,0,-15, 5,0,0,-15, 6,0,0,-15, 7,0,0,-15 + dw 8,0,0,-15, 9,0,0,-15 + dw 232,1000 + dd contib1,contib1,boss_course +contib1: + dw 0,0,0,10 + dw 1,0,0,10 + dw 2,0,0,10 + dw 201,1,-50,-120 + dw 201,1, 50,-120 + dw 3,0,0,10 + dw 4,0,0,10 + dw 5,0,0,10 +check00:dw 232,200 + dd backmove0,backmove0,contib2 +contib2: + dw 6,0,0,20 + dw 7,0,0,20 + dw 8,0,0,20 + dw 9,0,0,20 + dw 233,5000-400 + dd chkd0,chkd0,contib3 +contib3: + dw 6,0,0,20 + dw 7,0,0,20 +check01:dw 232,250 + dd backmove0,backmove0,contib1 +backmove0: + dw 0,0,0,30, 1,0,0,30, 2,0,0,30, 3,0,0,30 + dw 201,0,0,-120 + dw 4,0,0,30, 5,0,0,30, 6,0,0,30, 7,0,0,30 + dw 8,0,0,30, 9,0,0,30 + dw 201,0,0,-120 + dw 234,50 + dd left00,check01,right00 + +left00: dw 210,-25,0,25 + dw _GOTO + dd check01 + +right00:dw 210,25,0,25 + dw _GOTO + dd check01 + +bossdown: + dw 10,0,0,0 + dw 201,1,-60,-120 + dw 11,0,0,0, 12,0,0,0, 13,0,0,0, 14,0,0,0 + dw 201,1, 60,-120 + dw 15,0,0,0, 16,0,0,0, 17,0,0,0, 18,0,0,0 + dw 19,0,0,0 + dw _GOTO + dd chkd1 +chkd0: + dw 9,0,0,0 + dw 205,1,-50,-30 + dw 205,1,50,-50 + dw 205,1,-5,-25 + dw 205,1,-5,-15 + dw 10,0,25,10 + dw 11,0,25,20 +chkd1: + dw 232,1000 + dd contid1,contid1,bossdown +contid1: + dw 12,0,0,10 + dw 201,1,-50,-120 + dw 13,0,0,20 + dw 14,0,0,10 + dw 201,1, 50,-120 + dw 232,250 + dd backmove1,backmove1,contid2 +contid2: + dw 15,0,0,10, 16,0,0,20 + dw 17,0,0,10, 18,0,0,10 + dw 233,5000-500 + dd bosskill,bosskill,contid3 +contid3: + dw 19,0,0,10 +check001:dw 232,200 + dd backmove1,backmove1,contid1 +backmove1: + dw 201,0,0,-120 + dw 205,1,0,-80 + dw 11,0,0,40, 12,0,0,40, 13,0,0,40, 14,0,0,40, 15,0,0,40 + dw 201,0,0,-120 + dw 16,0,0,40, 17,0,0,40, 18,0,0,40, 19,0,0,40 + dw 201,0,0,-120 + dw 234,50 + dd left01,check001,right01 + +left01: dw 210,-25,0,20 + dw _GOTO + dd check001 + +right01:dw 210,25,0,20 + dw _GOTO + dd check001 + + +bosskill: + dw 205,1,0,-90 + dw 205,1,30,-90 + dw 11,0,0,10, 11,0,0,10 + dw 205,1,0,0 + dw 12,0,0,20, 12,0,0,20 + dw 13,0,0,20, 13,0,0,20 + dw 14,0,0,20, 14,0,0,20 + dw 15,0,0,20, 15,0,0,20 + dw 205,1,-40,-80 + dw 15,0,0,20 + dw 205,1,60,-80 + dw 16,0,0,20 + dw 205,1,-60,-180 + dw 16,0,0,20 + dw 205,1,-60,-120 + dw 17,0,0,20 + dw 205,1,-40,-80 + dw 18,0,0,20 + dw 205,1,80,-80 + dw 19,0,0,20 + dw 205,1,-80,-80 + dw 19,0,0,20 + dw 205,1,-60,-160 + dw 205,1,40,-80 + dw 19,0,0,20 + dw 205,1,60,-80 + dw 205,1,-60,-180 + dw 205,1,-60,-120 + dw 19,0,0,20 + dw 205,1,20,-120 + dw 205,1,60,0 + dw 19,0,0,20 + dw 205,1,-60,-80 + dw 205,1,0,-80 + + dw 209 + + +_data ends + END diff --git a/OBJECT5.BOD b/OBJECT5.BOD new file mode 100644 index 0000000..492e638 Binary files /dev/null and b/OBJECT5.BOD differ diff --git a/OBJECT6.ASM b/OBJECT6.ASM new file mode 100644 index 0000000..366803b --- /dev/null +++ b/OBJECT6.ASM @@ -0,0 +1,301 @@ +;------------------------------------------------------- +; object course data for IZMIR +; stage 6 +;------------------------------------------------------- + .386 + +_GOTO equ 230 + +object struc + + obj_no dd ? ; 0 + + x dw ? ; coordinate + y dw ? ; + z dw ? ; + + dlx dw ? ; delta x + dly dw ? ; delta y + dlz dw ? ; delta z + + ix dw ? ; interaction + iy dw ? ; + iz dw ? ; + + interaction dw ? ; + z_clip dw ? ; + sco dw ? ; + + stat dd ? ; status + spr_no dd ? ; sprite number + sfactor dd ? ; scale + spr_data dd ? ; pointer of sprite image data + course dd ? ; pointer of course + + crea_rt dd ? ; object creation routine + spr_rt dd ? ; sprite routine + course_rt dd ? ; course routine + course_off dd ? ; course offset + +object ends + + +_data segment public use32 'DATA' + +extrn s6tan_spr_data1: dword +extrn s6tan_spr_data2: dword +extrn s6tan_spr_data3: dword +extrn s6tan_spr_data4: dword +extrn s6tan_spr_data5: dword +extrn s6tan_spr_data6: dword +extrn s6boss1_spr_data: dword + + ORG 0 +OBJ_DATA label +enemy_type label word +object <1, 0, -150, 2500,,,,,,, 1, 2500, 20, 2, 0, 0, offset s6tan_spr_data1, offset tan_course1, 0, 1,0,0> +; plane 6 (big) +object <2, 0, -150, 2500,,,,,,, 0, 2500, 0, 10, 0, 0, offset s6tan_spr_data2, offset tan_course2, 0, 1,0,0> +; horiz beam +object <3, 0, -100, 2500,,,,,,, 1, 2500, 30, 2, 0, 128, offset s6tan_spr_data3, offset tan_course3, 0, 1,0,0> +; UFO +object <4, 0, -250, 2500,,,,,,, 1, 2500, 30, 2, 0, 0, offset s6tan_spr_data4, offset tan_course4, 0, 1,0,0> +; plane +object <5, 0, -200, 150,,,,,,, 1, 2500, 30, 2, 0, 0, offset s6tan_spr_data5, offset tan_course5, 0, 1,0,0> +; UFO +object <6, 0, -250, 150,,,,,,, 1, 2500, 30, 2, 0, 128, offset s6tan_spr_data6, offset tan_course6, 0, 1,0,0> +; palne + +object <7, 0, -100, 2500,,,,,,, 1, 2500, 500, 5000, 0, 128, offset s6boss1_spr_data, offset boss_course, 0, 1,0,0> +; BOSS + + +;--------------------------------------------------------------------- +tan_course1 label word + dw 0,0,0,-10, 202,1, 202,2, 202,3, 202,2 + dw 202,1, 202,0, 202,4, 202,5, 202,6 + dw 201,1,0,0 + dw 202,5, 202,4, _GOTO + dd tan_course1 + +tan_course2 label word + dw 0,0,0,-5, 1,0,5,-5, 2,0,10,-5 + dw 0,0,15,-5, 1,0,20,-5 + + dw 0,0,25,-5, 1,0,20,-5, 2,0,15,-5 + dw 0,0,10,-5, 1,0,5,-5 + + dw 0,0,0,-5, 1,0,-5,-5, 2,0,-10,-5 + dw 0,0,-15,-5, 1,0,-20,-5 + + dw 0,0,-25,-5, 1,0,-20,-5, 2,0,-15,-5 + dw 0,0,-10,-5, 1,0,-5,-5 + dw _GOTO + dd tan_course2 + +tan_course3 label word ; UFO + dw 0,0,0,-4, 1,0,2,-4, 2,0,5,-4, 3,0,7,-4, 4,0,10,-4 + dw 200,10, 201,1,0,0 + dw 0,0,10,-4, 1,0,7,-4, 2,0,5,-4, 3,0,2,-4, 4,0,0,-4 + dw 0,0,0,-4, 1,0,-2,-4, 2,-0,-5,-4, 3,0,-7,-4, 4,0,-10,-4 + dw 0,0,-10,-4, 1,0,-7,-4, 2,0,-5,-4, 3,0,-2,-4, 4,0,0,-4 + dw _GOTO + dd tan_course3 + +tan_course4 label word ; plane 5 + dw 4,0,0,-10, 5,0,0,-10, 6,0,0,-10, 7,0,0,-10 + dw 232,700 + dd conti222,tan_course4,tan_course4 +conti222: + dw 201,1,0,0 + dw 3,0,10,0, 2,0,10,0, 1,0,10,0, 0,0,10,0 + dw 1,0,10,0, 2,0,10,0, 3,0,10,0 + dw 201,1,0,0 +loop222: + dw 4,0,0,-10, 5,0,0,-10, 6,0,0,-10, 7,0,0,-10 + dw _GOTO + dd loop222 + +tan_course5 label word ; UFO + dw 0,0,10,50, 1,0,10,50, 2,0,10,50 + dw 4,0,5,50, 5,0,5,50, 6,0,5,50 + dw 7,0,0,60, 8,0,0,60, 9,0,0,60 + dw 10,0,0,50, 11,0,0,50 + dw 201,1,0,0 + dw _GOTO + dd tan_course5 + +tan_course6 label word ; plane + dw 0,0,2,80, 200,5, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80 + dw 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80, 0,0,2,80 + dw 0,0,3,60, 0,0,3,60, 0,0,3,60, 0,0,3,40, 0,0,3,40, 0,0,3,40 + dw 0,0,3,40, 0,0,3,40, 0,0,3,30, 0,0,3,20, 0,0,3,10, 0,0,3,10 + dw 234,5 + dd course602,conti600,conti600 +conti600: + dw 1,10,3,10, 1,10,3,10, 1,10,3,10, 1,10,3,10 + dw 2,20,3,10, 2,20,3,10, 2,20,3,10 + dw 2,20,3,10, 2,20,3,10 + dw 3,30,3,0, 3,30,3,0 + dw 3,30,3,0, 3,30,3,0, 201,0,0,0 + dw 4,20,2,-10, 4,20,2,-10, 200,10, 201,0,0,0 + dw 4,20,2,-10, 4,20,2,-10, 4,20,2,-10 + dw 5,10,2,-10, 5,10,2,-10, 5,5,3,-15, 5,5,4,-15, 201,0,0,0 + dw _GOTO + dd conti601 +course602: + dw 1+256,-10,3,10, 1+256,-10,3,10, 1+256,-10,3,10, 1+256,-10,3,10 + dw 2+256,-20,3,10, 2+256,-20,3,10, 2+256,-20,3,10 + dw 2+256,-20,3,10, 2+256,-20,3,10 + dw 3+256,-30,3,0, 3+256,-30,3,0 + dw 3+256,-30,3,0, 3+256,-30,3,0, 201,0,0,0 + dw 4+256,-20,2,-10, 4+256,-20,2,-10, 200,10, 201,0,0,0 + dw 4+256,-20,2,-10, 4+256,-20,2,-10, 4+256,-20,2,-10 + dw 5+256,-10,2,-10, 5+256,-10,2,-10, 5+256,-5,3,-15, 5+256,-5,4,-15, 201,0,0,0 +conti601: + dw 6,0,5,-20, 6,0,0,-30, -1 + +;;;;;;BOSS;;;;;;; +boss_course label word ; + dw 0,0,0,-15, 1,0,0,-15, 2,0,0,-15, 3,0,0,-15 + dw 201,1,-55,-70 + dw 4,0,0,-15, 5,0,0,-15, 6,0,0,-15, 7,0,0,-15 + dw 8,0,0,-15, 9,0,0,-15 + dw 232,800 + dd contib1,contib1,boss_course +contib1: + dw 0,0,0,10 + dw 1,0,0,10 + dw 2,0,0,10 + dw 201,1,-55,-70 + dw 3,0,0,10 + dw 201,1,-55,-70 + dw 4,0,0,10 + dw 201,1,-55,-70 + dw 5,0,0,10 +check00:dw 232,200 + dd backmove0,backmove0,contib2 +contib2: + dw 6,0,0,10 + dw 7,0,0,10 + dw 8,0,0,10 + dw 234,50 + dd left00,nextl,right00 +nextl: + dw 9,0,0,20 + dw 233,5000-400 + dd chkd0,chkd0,contib3 +contib3: + dw 6,0,0,20 + dw 7,0,0,20 +check01:dw 232,200 + dd backmove0,backmove0,contib1 +backmove0: + dw 0,0,0,30, 1,0,0,30, 2,0,0,30, 3,0,0,30 + dw 201,1,-55,-70 + dw 4,0,0,30, 5,0,0,30, 6,0,0,30, 7,0,0,30 + dw 8,0,0,30, 9,0,0,30 + dw 201,1,-55,-70 + dw _GOTO + dd check00 + +left00: dw 210,-25,0,20 + dw _GOTO + dd check00 + +right00:dw 210,25,0,20 + dw _GOTO + dd check00 + +bossdown: + dw 10,0,0,0 + dw 11,0,0,0, 12,0,0,0, 13,0,0,0, 14,0,0,0 + dw 201,1,-55,-70 + dw 15,0,0,0, 16,0,0,0, 17,0,0,0, 18,0,0,0 + dw 19,0,0,0 + dw _GOTO + dd chkboss000 +chkd0: + dw 10,0,5,10 + dw 11,0,5,0 + dw 205,1,10,-70 + dw 205,1,0,-75 + dw 205,1,-10,-60 +chkboss000: + dw 232,1000 + dd contid1,contid1,bossdown +contid1: + dw 12,0,0,10 + dw 201,1,-55,-70 + dw 13,0,0,20 + dw 14,0,0,10 + dw 201,1,-55,-70 + dw 232,200 + dd backmove1,backmove1,contid2 +contid2: + dw 15,0,0,10, 16,0,0,20 + dw 17,0,0,10, 18,0,0,10 + dw 233,5000-500 + dd bosskill,bosskill,contid3 +contid3: + dw 19,0,0,10 +check001:dw 232,200 + dd backmove1,backmove1,contid1 +backmove1: + dw 201,1,-55,-70 + dw 11,0,0,40, 12,0,0,40, 13,0,0,40, 14,0,0,40, 15,0,0,40 + dw 16,0,0,40, 17,0,0,40, 18,0,0,40, 19,0,0,40 + dw 201,1,-55,-70 + dw 234,50 + dd left01,check001,right01 + +left01: dw 210,-20,0,20 + dw _GOTO + dd check001 + +right01:dw 210,20,0,20 + dw _GOTO + dd check001 + + +bosskill: + dw 205,1,0,-50 + dw 205,1,30,-20 + dw 11,0,0,10, 11,0,0,10 + dw 205,1,20,-80 + dw 12,0,0,20, 12,0,0,20 + dw 13,0,0,20, 13,0,0,20 + dw 14,0,0,20, 14,0,0,20 + dw 15,0,0,20, 15,0,0,20 + dw 205,1,-20,-30 + dw 15,0,0,20 + dw 205,1,30,-70 + dw 16,0,0,20 + dw 205,1,-30,-20 + dw 16,0,0,20 + dw 205,1,0,-40 + dw 17,0,0,20 + dw 205,1,-20,-90 + dw 18,0,0,20 + dw 205,1,40,-80 + dw 19,0,0,20 + dw 205,1,-40,-30 + dw 19,0,0,20 + dw 205,1,-30,-40 + dw 205,1,20,-40 + dw 19,0,0,20 + dw 205,1,0,-20 + dw 205,1,0,-40 + dw 205,1,-30,-30 + dw 19,0,0,20 + dw 205,1,20,-50 + dw 205,1,30,0 + dw 19,0,0,20 + dw 205,1,-30,-70 + dw 205,1,0,-70 + + dw 209 + + +_data ends + END diff --git a/OBJECT6.BOD b/OBJECT6.BOD new file mode 100644 index 0000000..9110519 Binary files /dev/null and b/OBJECT6.BOD differ diff --git a/PANNEL.INC b/PANNEL.INC new file mode 100644 index 0000000..0c983c3 --- /dev/null +++ b/PANNEL.INC @@ -0,0 +1,1001 @@ +dw 320,50 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,60,62,62,62,62,62,62,62,62,62,62,62 +db 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62 +db 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62 +db 62,62,62,62,62,62,62,62,62,62,62,62,60,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,60 +db 54,74,54,54,53,53,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,53,53,32,32,32,32,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,54 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 54,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 +db 32,32,32,32,32,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,58,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,60 +db 54,17,53,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,53,53,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,53,53,53,53,53,53,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,53,53,53,53,53,53,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,58,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,58,54,54,54,54,54 +db 53,52,52,52,52,52,52,53,32,54,54,54,54,54,54,60 +db 54,53,52,52,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,54,53,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,53,53,53,53,53,53,53,32,57,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,60,58,54,54,54,53,52 +db 53,53,53,53,53,53,53,53,52,53,32,54,54,54,54,60 +db 53,52,53,53,52,52,52,52,52,52,52,52,52,53,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 53,53,52,52,52,52,52,52,52,52,53,54,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,53,53,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,53,53,53,53,53,53,53 +db 53,53,53,53,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,32,58 +db 53,52,52,52,52,52,52,52,52,52,52,52,52,52,53,53 +db 54,32,32,32,32,32,32,58,60,58,58,54,53,52,53,54 +db 54,54,54,54,54,54,54,54,54,53,52,53,32,54,54,60 +db 52,53,54,52,53,54,54,54,54,54,54,54,54,53,53,54 +db 54,54,54,58,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,58,54,54,54,53 +db 53,54,54,54,54,54,54,54,54,54,54,53,58,54,53,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,54,53,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,53,54,53,53,53 +db 53,53,53,52,54,54,54,53,54,54,53,53,53,32,54,54 +db 54,54,54,54,54,54,54,54,54,54,58,60,60,60,60,60 +db 60,60,60,60,60,32,54,54,54,54,54,54,54,54,54,58 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 +db 32,32,32,32,57,57,57,57,58,54,58,52,53,53,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,53,52,32,54,60 +db 53,54,52,53,54,54,54,54,54,54,54,54,54,54,53,58 +db 54,54,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,54,54,53 +db 54,54,54,58,58,58,58,58,58,32,54,54,58,54,53,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,53,52,52,52,52,52,52,52,52,53,53,53,53 +db 53,53,53,53,53,54,54,54,54,54,54,54,32,32,32,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 +db 32,32,32,32,54,54,54,54,54,54,54,53,53,53,53,53 +db 53,53,53,53,52,52,52,52,52,52,52,52,53,54,54,54 +db 54,54,54,52,54,54,54,53,54,54,53,54,54,58,54,54 +db 45,54,45,45,54,54,45,54,45,54,58,41,41,41,41,41 +db 41,41,41,41,41,53,54,54,54,54,54,54,54,54,54,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,54,52,53,53,54,54,54 +db 54,57,60,60,60,60,57,54,54,54,54,54,53,52,32,60 +db 53,54,53,54,54,17,17,17,54,54,15,15,15,54,54,58 +db 54,58,60,32,15,15,45,45,45,44,44,44,44,44,44,44 +db 44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44 +db 44,44,44,44,44,44,45,45,45,15,15,32,60,58,54,53 +db 54,54,58,53,53,53,53,53,54,60,54,54,58,54,53,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,53,52,52,52,52,52,53,53,53,54,32,58,58,58 +db 58,60,60,60,60,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,61,61,61,61,61,61,61,61,61,60,61 +db 61,61,61,61,61,61,61,61,61,61,61,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,60,60,60,60,58 +db 58,58,58,32,54,53,53,53,52,52,52,52,52,53,54,54 +db 54,54,54,53,54,54,54,32,54,54,32,60,60,58,54,54 +db 45,45,54,45,54,45,45,54,45,54,32,53,53,53,53,53 +db 53,53,53,53,53,53,54,54,54,54,54,54,54,54,54,60 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,54,53,53,54,54,54,57 +db 61,61,61,61,61,61,61,61,57,54,54,54,32,53,58,60 +db 32,54,53,54,54,17,17,17,54,54,15,15,15,54,54,58 +db 32,60,58,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,58,60,54,53 +db 54,54,60,54,57,57,57,57,57,60,54,54,58,54,32,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 +db 32,53,52,52,52,52,52,53,53,32,57,60,60,60,60,60 +db 60,61,61,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,61,61,60 +db 60,60,60,60,60,57,32,53,53,52,52,52,52,52,53,32 +db 32,32,32,53,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,52,53,54,54,54,57,61 +db 61,53,52,52,53,32,60,61,61,57,54,32,32,57,53,60 +db 57,54,53,54,54,17,17,17,54,54,15,15,15,54,54,58 +db 32,60,39,39,39,17,18,17,39,17,39,17,39,17,39,17 +db 39,17,39,17,39,17,39,17,39,17,39,17,39,17,39,17 +db 39,17,18,17,39,17,39,17,39,17,39,39,39,60,54,53 +db 54,54,58,60,60,60,60,60,60,58,54,32,58,54,57,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 +db 53,52,52,52,52,53,53,32,57,60,60,61,61,61,61,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,61,61,61,61,60,60,57,32,53,53,52,52,52,52,53 +db 32,32,32,53,54,54,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,54,54,54,60 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,53,53,54,54,54,61,61 +db 53,52,53,53,53,53,54,57,61,61,32,32,57,57,32,60 +db 60,54,53,54,54,17,17,17,54,54,45,45,45,54,54,58 +db 32,39,39,39,39,39,39,39,39,39,39,39,39,17,39,39 +db 39,39,39,39,39,39,39,17,39,39,39,39,39,39,39,39 +db 39,17,39,39,39,39,39,39,39,39,39,39,39,39,54,53 +db 54,54,58,58,58,58,58,58,58,58,32,32,58,54,58,57 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,53 +db 52,52,52,52,53,32,57,60,60,61,61,61,61,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,61,61,61,61,60,60,57,32,53,52,52,52,52 +db 53,32,32,53,54,54,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,54,54,54,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,58,58,58,52,53,54,54,54,60,61,53 +db 52,52,61,32,54,54,32,57,60,61,60,57,57,57,57,61 +db 60,54,53,54,54,17,17,17,54,54,45,45,45,54,54,58 +db 32,39,17,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,17,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,17,39,54,53 +db 32,32,58,53,53,53,53,53,54,60,32,32,58,54,60,57 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,53,52 +db 52,52,53,53,32,58,60,39,61,61,61,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,61,61,61,39,60,58,32,53,53,52,52 +db 52,53,32,53,54,54,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,54,54,54,60 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,60,58,32,52,53,54,54,54,61,61,53 +db 52,53,53,61,32,54,32,57,58,61,61,60,60,60,60,62 +db 60,54,53,54,54,17,17,17,54,54,45,45,45,54,54,58 +db 32,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,32,53 +db 32,32,60,54,57,57,57,57,57,60,32,32,58,32,60,58 +db 57,57,57,57,57,57,57,57,57,57,57,57,57,57,52,52 +db 52,53,54,58,60,39,39,61,60,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,44,44,44,39,44,44 +db 44,39,44,44,44,39,44,44,44,39,44,44,44,39,44,44 +db 44,39,44,44,44,39,44,44,44,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,60,61,39,39,60,58,54,53,52 +db 52,52,57,53,54,54,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,54,54,54,60 +db 18,18,18,18,18,18,39,18,18,39,39,39,39,39,18,18 +db 18,18,18,18,39,39,60,32,53,54,54,54,54,61,61,53 +db 53,54,54,53,61,57,32,57,60,61,61,53,52,52,53,60 +db 60,54,53,54,54,17,17,17,54,54,44,44,44,54,54,58 +db 32,39,17,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,17,39,32,53 +db 32,32,32,60,60,60,60,60,60,32,32,32,58,32,60,58 +db 57,57,57,57,57,57,57,57,57,57,57,57,57,53,52,52 +db 53,54,58,60,39,39,61,60,39,39,39,39,39,39,68,68 +db 68,68,68,39,39,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,44,44,44,39,44,44 +db 44,39,44,44,44,39,44,44,44,39,44,44,44,39,44,44 +db 44,39,44,44,44,39,44,44,44,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,60,61,39,39,60,58,54,53 +db 52,52,53,53,32,54,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,54,54,32,60 +db 18,18,18,18,18,18,39,18,18,39,39,39,39,39,18,18 +db 18,18,18,18,39,39,60,32,32,32,54,54,54,60,61,32 +db 53,54,54,54,53,61,57,58,60,61,60,54,54,32,32,61 +db 60,54,53,54,54,74,74,74,54,54,44,44,44,54,54,58 +db 32,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 18,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,32,58 +db 32,32,32,32,32,32,32,32,32,32,32,57,60,57,60,60 +db 57,57,57,57,57,57,57,57,57,57,57,57,57,32,53,53 +db 54,58,60,39,39,61,60,39,39,39,39,39,39,39,68,39 +db 39,39,39,39,39,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,44,44,44,39,44,44 +db 44,39,44,44,44,39,44,44,44,39,44,44,44,39,44,44 +db 44,39,44,44,44,39,44,44,44,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,60,61,39,39,60,58,54 +db 53,53,32,32,57,57,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,57,57,60,60 +db 18,18,39,39,39,39,39,18,18,39,39,39,39,39,39,39 +db 39,39,18,18,39,39,60,32,58,32,32,54,54,54,61,61 +db 57,32,32,32,32,57,57,60,61,61,54,54,54,32,32,61 +db 60,54,53,54,54,74,74,74,54,54,44,44,44,54,54,58 +db 32,39,17,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,17,39,32,58 +db 58,60,60,60,60,60,60,60,60,60,60,58,57,57,60,60 +db 58,58,58,58,58,58,58,58,58,58,58,58,60,58,32,32 +db 32,60,39,39,39,61,39,39,39,39,39,39,39,39,68,68 +db 68,68,39,39,39,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,44,44,44,39,44,44 +db 44,39,44,44,44,39,44,44,44,39,44,44,44,39,44,44 +db 44,39,44,44,44,39,44,44,44,39,39,39,71,71,71,39 +db 39,39,39,39,39,39,39,39,39,39,61,39,39,39,60,32 +db 32,32,58,58,60,60,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,60,60,60,58 +db 18,18,18,18,18,18,39,18,18,18,18,18,18,39,39,39 +db 39,39,18,18,39,39,60,32,60,57,32,54,54,54,57,61 +db 61,60,58,58,58,60,60,61,61,57,54,54,32,32,57,62 +db 60,32,53,54,54,74,74,74,54,54,44,44,44,54,54,58 +db 32,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,18,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,57,57 +db 57,57,57,57,57,57,57,57,57,57,57,57,57,58,60,60 +db 60,58,58,58,58,58,58,58,58,58,58,58,60,60,58,58 +db 58,60,39,39,39,60,39,39,39,39,39,39,39,39,68,39 +db 39,39,39,39,39,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,44,44,44,39,44,44 +db 44,39,44,44,44,39,44,44,44,39,44,44,44,39,44,44 +db 44,39,44,44,44,39,44,44,44,39,39,39,71,39,39,71 +db 39,39,39,39,39,39,39,39,39,39,60,39,39,39,60,58 +db 58,58,60,58,57,57,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,57,57,60,58 +db 18,18,18,18,18,18,39,18,18,18,18,18,18,39,39,39 +db 39,39,18,18,39,39,60,32,60,60,57,32,54,54,54,57 +db 61,61,61,61,61,61,61,61,57,54,54,54,32,58,60,62 +db 60,32,53,54,54,74,74,74,54,54,42,42,42,54,54,58 +db 32,39,17,17,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,18,39,39,39,39,39,39,17,17,39,57,57 +db 57,57,57,57,57,57,57,57,57,57,57,57,58,58,60,61 +db 60,60,60,60,60,60,60,60,60,60,60,60,39,39,60,60 +db 60,39,39,39,60,39,39,39,39,39,39,39,39,39,68,68 +db 68,68,68,39,39,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,44,44,44,39,44,44 +db 44,39,44,44,44,39,44,44,44,39,44,44,44,39,44,44 +db 44,39,44,44,44,39,44,44,44,39,39,39,71,71,71,39 +db 39,39,39,39,39,39,39,39,39,39,39,60,39,39,39,60 +db 60,60,39,60,32,32,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,32,32,60,58 +db 39,39,39,39,18,18,39,18,18,39,39,18,18,39,39,39 +db 39,39,18,18,39,39,60,32,58,60,58,57,32,54,54,54 +db 54,57,60,61,57,60,57,54,54,54,54,32,57,58,60,60 +db 60,32,53,54,54,73,73,73,54,54,42,42,42,54,54,58 +db 32,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,57,57 +db 57,57,57,57,57,57,57,57,57,57,57,57,58,58,61,61 +db 60,60,60,60,60,60,60,60,60,60,60,60,39,39,60,58 +db 60,60,61,61,60,61,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,68,68,68,39,68,68 +db 68,39,68,68,68,39,68,68,68,39,44,44,44,39,44,44 +db 44,39,44,44,44,39,44,44,44,39,44,44,44,39,44,44 +db 44,39,44,44,44,39,44,44,44,39,39,39,71,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,61,60,61,61,60,60 +db 58,60,39,60,32,54,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,54,32,60,58 +db 18,18,18,18,18,18,39,18,18,18,18,18,18,39,39,39 +db 39,39,18,18,39,39,60,32,58,54,60,60,57,32,32,54 +db 54,54,54,60,53,54,54,54,54,32,32,57,60,60,58,60 +db 60,32,53,54,54,73,73,73,54,54,41,41,41,54,54,58 +db 32,39,17,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,17,39,57,57 +db 57,57,57,57,57,57,57,58,58,58,58,58,58,58,61,61 +db 61,60,60,60,60,60,60,60,60,60,60,60,39,39,60,54 +db 54,54,58,60,58,61,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,61,58,60,58,54,54 +db 54,60,39,60,32,54,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,54,32,60,58 +db 18,18,18,18,18,18,39,18,18,18,18,18,18,39,39,39 +db 39,39,18,18,39,39,60,32,58,54,54,60,60,60,57,32 +db 32,32,32,60,52,54,54,32,32,32,58,60,60,58,32,60 +db 60,57,53,54,54,73,73,73,54,54,71,71,71,54,54,58 +db 57,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,18,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,61,61 +db 61,61,61,61,61,61,61,61,61,61,61,61,39,39,60,54 +db 54,54,54,54,58,61,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,61,58,54,54,54,54 +db 54,60,39,61,32,54,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,54,32,60,58 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,60,32,58,58,54,54,54,57,60,60,60 +db 57,57,57,60,53,57,57,57,60,60,60,60,58,32,54,60 +db 60,57,53,54,54,72,72,72,54,54,41,41,41,54,54,58 +db 57,39,17,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,17,39,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,60,61,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,60,54 +db 54,54,54,54,54,61,39,39,39,39,71,71,71,71,71,71 +db 71,71,71,71,71,39,71,71,71,71,71,71,71,71,71,71 +db 71,39,71,71,71,71,71,71,71,71,71,71,71,39,71,71 +db 71,71,71,71,71,71,71,71,71,39,71,71,71,71,71,71 +db 71,71,71,71,71,39,71,71,71,71,71,71,71,71,71,71 +db 71,39,71,71,71,71,71,71,71,71,71,71,71,39,71,71 +db 71,71,71,71,71,71,71,71,71,39,71,71,71,71,71,71 +db 71,71,71,71,71,39,39,39,39,39,61,54,54,54,54,54 +db 54,60,39,39,32,32,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,32,32,60,58 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,32,58,58,58,54,54,54,54,54,57,60 +db 60,60,60,60,60,60,60,60,60,60,58,32,32,54,54,60 +db 60,58,53,54,54,72,72,72,54,54,41,41,41,54,54,58 +db 58,39,39,39,39,39,39,39,39,18,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,60,60,60,39,61 +db 61,60,57,54,54,54,54,54,54,54,54,54,39,39,60,54 +db 54,54,54,54,54,58,61,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,61,58,54,54,54,54,54 +db 54,60,39,54,58,32,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,32,32,60,58 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 +db 32,32,32,32,32,58,58,58,58,32,54,54,54,54,54,54 +db 57,58,60,60,60,60,60,60,58,32,32,32,32,32,32,60 +db 60,58,53,54,54,72,72,72,54,54,18,18,18,54,54,60 +db 58,39,17,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,17,39,58,58 +db 58,58,58,58,58,60,60,60,60,60,60,60,60,60,39,60 +db 60,54,53,53,53,53,53,53,53,53,53,53,39,39,61,54 +db 54,54,54,54,54,54,60,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,60,54,54,54,54,54,54 +db 54,61,39,53,60,32,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,57,57,60,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60 +db 60,58,58,32,54,54,54,54,54,54,54,54,54,54,57,60 +db 58,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,18,39,39,39,39,39,39,39,39,39,39,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,39,60 +db 32,53,53,53,53,53,53,53,53,53,53,53,39,39,39,58 +db 54,54,54,54,54,54,58,61,39,39,39,39,39,39,39,64 +db 64,64,64,39,39,39,64,64,64,64,64,64,64,64,64,64 +db 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64 +db 64,39,64,64,64,64,64,64,64,64,64,64,64,64,64,64 +db 64,64,64,64,64,64,64,64,64,64,64,64,64,39,67,67 +db 67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67 +db 67,67,67,67,67,67,67,67,67,39,39,39,67,67,67,39 +db 39,39,39,39,39,39,39,39,61,58,54,54,54,54,54,54 +db 58,39,39,53,60,57,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,57,57,60,61 +db 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61 +db 61,61,61,61,61,61,61,61,58,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60 +db 60,58,58,60,57,32,32,32,32,32,32,32,32,57,60,58 +db 58,39,17,17,17,39,39,39,39,39,39,39,39,39,39,39 +db 18,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,17,17,17,39,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,39,58 +db 53,53,53,53,53,53,53,53,53,53,53,53,60,39,39,60 +db 54,54,54,54,54,54,54,60,39,39,39,39,39,39,39,39 +db 64,39,39,64,39,64,64,64,64,64,64,64,64,64,64,64 +db 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64 +db 64,39,64,64,64,64,64,64,64,64,64,64,64,64,64,64 +db 64,64,64,64,64,64,64,64,64,64,64,64,64,39,67,67 +db 67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67 +db 67,67,67,67,67,67,67,67,67,67,39,39,67,39,39,67 +db 39,39,39,39,39,39,39,39,60,54,54,54,54,54,54,54 +db 60,39,39,53,60,57,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,58,58,60,61 +db 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61 +db 61,61,61,61,61,61,61,61,58,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60 +db 60,58,58,58,60,60,60,60,60,60,60,60,60,60,58,58 +db 58,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,18,39,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,39,57 +db 53,53,53,53,53,53,53,53,53,53,53,53,31,39,39,61 +db 58,32,32,32,32,32,32,32,61,39,39,39,39,39,64,39 +db 39,64,39,39,39,64,64,64,64,64,64,64,64,64,64,64 +db 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64 +db 64,39,64,64,64,64,64,64,64,64,64,64,64,64,64,64 +db 64,64,64,64,64,64,64,64,64,64,64,64,64,39,67,67 +db 67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67 +db 67,67,67,67,67,67,67,67,67,67,39,39,67,67,67,39 +db 39,39,39,39,39,39,39,61,32,32,32,32,32,32,32,58 +db 61,39,39,53,60,58,58,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,61,61,61,61 +db 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61 +db 61,61,61,61,61,61,61,61,58,57,57,57,57,57,57,57 +db 57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,60 +db 60,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,39,17,39,39,39,39,39,39,18,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,17,39,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,39,32 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,60,39,39 +db 61,32,32,32,32,32,32,32,32,60,61,39,39,39,39,64 +db 64,64,64,39,39,39,64,64,64,64,64,64,64,64,64,64 +db 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64 +db 64,39,64,64,64,64,64,64,64,64,64,64,64,64,64,64 +db 64,64,64,64,64,64,64,64,64,64,64,64,64,39,67,67 +db 67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67 +db 67,67,67,67,67,67,67,67,67,39,39,39,67,39,39,39 +db 39,39,39,39,39,61,60,32,32,32,32,32,32,32,32,61 +db 39,39,60,53,53,53,53,60,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,53,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,53,53,53,53,53,53,32,57,58,57,57,57 +db 57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,60 +db 60,58,58,53,52,52,52,52,52,52,52,52,52,52,53,58 +db 58,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,39,54 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,31,39,39 +db 39,60,57,57,57,57,57,57,57,57,57,60,61,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,61,60,57,57,57,57,57,57,57,57,57,60,39 +db 39,39,31,53,53,53,53,60,58,58,58,58,58,58,58,58 +db 58,58,58,58,52,53,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,57,58,58,57 +db 57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,60 +db 60,60,52,27,27,27,27,27,27,27,27,27,27,27,27,52 +db 60,39,17,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,17,39,60,53 +db 52,52,52,52,52,52,52,52,52,52,52,52,53,60,39,54 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,60,39 +db 39,39,60,57,57,57,57,57,57,57,57,57,57,60,61,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,61,60,57,57,57,57,57,57,57,57,57,57,60,39,39 +db 39,60,53,53,53,53,53,32,60,60,60,60,60,60,60,60 +db 60,60,60,60,52,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,58,60,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,60 +db 60,53,27,32,32,32,32,32,32,32,32,32,32,32,32,27 +db 53,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,52,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,52,61,54 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,61 +db 39,39,39,60,57,57,57,57,57,57,57,57,57,57,57,60 +db 61,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,61 +db 60,57,57,57,57,57,57,57,57,57,57,57,60,39,39,39 +db 61,53,53,53,53,53,53,53,32,57,58,58,60,60,60,60 +db 61,61,61,61,52,54,54,54,58,58,58,58,58,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,58,58,54,54,54,54,54,54,60,60,60 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,60,60 +db 60,53,32,32,32,52,52,57,32,32,32,32,32,32,32,32 +db 53,39,17,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,17,39,53,32 +db 32,32,32,32,32,32,32,32,32,32,32,57,57,53,61,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 61,61,39,39,60,57,57,57,57,57,57,57,57,57,57,57 +db 57,60,61,61,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,61,61,60,57 +db 57,57,57,57,57,57,57,57,57,57,57,60,39,39,61,61 +db 54,54,54,54,54,54,54,54,54,54,54,32,57,53,53,52 +db 52,52,52,52,53,54,54,58,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,58,54,54,54,54,54,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,61 +db 60,32,32,32,52,53,53,54,60,74,53,74,32,32,32,57 +db 58,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,18,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,58,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,57,57,61,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,61,61,61,39,39,60,60,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,60,60,39,39,61,61,61,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,52,53,54,54 +db 54,54,54,54,54,54,58,39,39,39,39,39,39,72,39,39 +db 39,39,39,17,39,39,39,39,39,17,39,39,39,39,39,17 +db 39,39,39,39,39,17,39,39,39,39,39,17,39,39,39,39 +db 39,17,39,39,39,39,39,39,58,54,54,54,54,60,61,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,61 +db 60,32,32,32,52,53,53,54,60,32,32,32,32,32,32,57 +db 58,39,17,17,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,17,17,39,58,32 +db 32,32,60,60,57,60,60,57,60,60,57,32,57,57,61,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,61,61,61,39,39,39,61,60,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,60,61,39,39,39,61,61,61,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,52,54,58,58,58 +db 58,58,58,32,54,54,58,39,39,39,39,39,72,72,72,39 +db 39,39,17,17,17,39,39,39,17,17,17,39,39,39,17,17 +db 17,39,39,39,17,17,17,39,39,39,17,17,17,39,39,39 +db 17,17,17,39,39,39,39,39,58,54,54,54,54,60,62,61 +db 60,60,60,60,60,60,60,60,60,60,60,60,61,61,61,62 +db 60,32,32,32,57,54,54,60,57,32,32,32,32,32,57,57 +db 58,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,58,32 +db 32,32,60,44,53,60,44,53,60,44,53,32,57,57,61,57 +db 57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57 +db 57,57,57,61,60,60,39,39,39,39,61,60,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,60,61,39,39,39,39,60,60,61,57,57,57 +db 57,57,57,57,57,57,57,58,58,58,52,54,58,53,53,53 +db 53,53,54,60,54,54,58,39,39,39,39,39,39,72,39,39 +db 39,39,39,17,39,39,39,39,39,17,39,39,39,39,39,17 +db 39,39,39,39,39,17,39,39,39,39,39,17,39,39,39,39 +db 39,17,39,39,39,39,39,39,58,54,54,54,54,60,62,62 +db 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62 +db 60,32,32,32,32,60,60,57,32,74,53,74,57,57,57,58 +db 58,39,17,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,17,39,58,32 +db 32,32,60,52,32,60,52,32,60,52,54,57,57,57,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,61,39,39,39,39,39,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,39,39,39,39,39,61,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,52,54,54,60,54,57,57 +db 57,57,57,60,54,54,58,39,39,39,39,39,72,39,72,39 +db 39,39,17,39,17,39,39,39,17,39,17,39,39,39,17,39 +db 17,39,39,39,17,39,17,39,39,39,17,39,17,39,39,39 +db 17,39,17,39,39,39,39,39,58,54,54,54,54,60,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 60,32,32,32,32,32,32,32,32,57,57,57,57,57,57,58 +db 58,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,58,32 +db 32,32,60,33,60,60,33,60,60,33,60,57,57,57,60,53 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,53,53,53,54,58,60,61,39,39,39,39,39,39,39 +db 61,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,61 +db 39,39,39,39,39,39,39,61,60,58,54,53,53,53,53,53 +db 53,53,53,53,53,53,53,58,52,54,54,54,32,60,60,60 +db 60,60,60,32,54,54,54,58,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,58,54,54,54,54,54,60,61,61 +db 61,60,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 60,57,57,57,32,52,52,60,57,57,57,57,57,57,57,58 +db 58,39,17,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,17,39,58,57 +db 57,57,57,57,57,57,57,57,57,57,57,57,58,58,60,32 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,58,60,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,60,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,53,53,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,58,58,58,58,58,58,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,58,58,58,58,54,54,54,54,54,54,60,61,61 +db 61,60,58,58,58,58,58,58,58,61,61,61,61,61,61,61 +db 60,57,57,57,52,53,53,57,60,17,53,17,57,58,58,58 +db 32,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,57,57 +db 57,57,57,57,57,57,57,57,57,58,58,58,58,58,60,32 +db 54,54,54,57,39,39,39,39,39,57,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,57,60,53 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,57,39,39,39,39 +db 39,57,54,54,54,54,54,52,54,32,58,58,58,58,58,58 +db 58,58,58,32,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,60,61,61 +db 61,60,60,60,60,60,60,60,60,61,39,39,39,39,39,39 +db 60,57,57,57,52,53,53,57,60,57,57,57,58,58,58,60 +db 53,39,17,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,17,39,53,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,60,60,32 +db 54,57,39,39,17,39,17,39,17,39,39,54,54,54,45,45 +db 45,45,54,45,54,45,45,54,54,45,54,54,54,57,60,52 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,54,60,60,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,60,60,54,54,54,54,57,39,39,17,39,17,39 +db 17,39,39,54,54,54,54,53,54,58,53,52,52,52,52,52 +db 52,53,54,60,54,54,54,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,54,54,54,54,54,61,61,61 +db 61,60,60,60,60,60,60,60,60,61,39,39,39,39,39,39 +db 60,58,58,58,60,58,58,60,57,58,58,58,58,58,60,60 +db 53,39,39,18,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,72,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,53,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,60,60,60,32 +db 54,39,39,39,39,39,17,39,39,39,39,39,54,54,45,45 +db 45,45,54,45,54,45,54,45,54,45,54,54,54,57,60,53 +db 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 +db 54,54,60,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,60,54,54,54,39,39,39,39,39,17,39 +db 39,39,39,39,54,54,54,32,54,58,52,54,54,54,54,54 +db 54,54,57,60,54,54,32,60,53,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,53,53,57,60,32,32,32,32,32,61,61,61 +db 61,60,60,60,60,60,60,60,60,61,39,39,39,39,39,39 +db 39,60,58,58,58,60,60,57,58,17,53,17,58,58,60,60 +db 32,60,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,60,32,58 +db 58,58,58,58,58,58,58,58,58,58,60,60,60,60,39,32 +db 57,39,17,39,42,39,39,39,39,39,17,39,57,54,54,54 +db 54,54,54,54,54,57,57,57,57,57,57,57,57,57,60,57 +db 57,57,57,57,57,57,57,57,54,54,54,54,54,54,54,54 +db 54,54,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,60,54,54,57,39,17,39,39,39,39,39 +db 39,39,17,39,57,54,54,58,54,58,53,54,54,45,45,45 +db 54,54,57,60,32,32,32,60,52,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,58,60,32,32,32,32,32,61,61,61 +db 61,60,61,61,61,61,61,61,61,61,39,39,39,39,39,39 +db 39,60,60,60,60,58,58,58,58,58,58,60,60,60,60,60 +db 57,53,57,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,57,53,57,60 +db 60,60,60,60,60,60,60,60,58,58,60,60,60,60,39,32 +db 39,39,39,39,39,18,39,39,39,39,39,39,39,54,54,54 +db 54,54,54,54,57,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,53,54,54,54,54,54,54,54 +db 54,54,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,17,17,17,17,17,39,17,17,17,17,17,39,17,17 +db 17,17,17,39,17,17,17,17,17,39,17,17,17,17,17,39 +db 17,17,17,17,17,39,17,17,17,17,17,39,17,17,17,17 +db 17,39,39,39,39,60,54,54,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,54,54,60,32,58,54,57,57,57,57,57 +db 57,57,58,60,32,32,32,60,53,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,58,60,60 +db 58,53,32,32,32,32,32,32,32,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,60,60,32,32,32,32,32,61,61,61 +db 61,60,61,61,61,61,61,61,61,61,39,39,39,39,39,39 +db 39,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,57,54,53,15,15,45,45,45,44,44,44,44,44,44,44 +db 44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44 +db 44,44,44,44,44,44,45,45,45,15,15,53,53,57,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,39,32 +db 39,17,17,39,39,39,18,39,39,39,17,17,39,54,54,54 +db 54,54,54,54,57,60,53,52,52,52,52,52,52,52,52,52 +db 52,52,52,52,52,53,57,60,53,54,54,54,54,54,54,54 +db 54,54,39,39,39,18,18,18,18,39,39,39,18,18,18,39 +db 39,18,18,18,39,39,18,18,18,39,39,18,18,18,18,39 +db 73,39,17,39,39,39,17,39,17,39,39,39,17,39,17,39 +db 39,39,17,39,17,39,39,39,17,39,17,39,39,39,17,39 +db 17,39,39,39,17,39,17,39,39,39,17,39,17,39,39,39 +db 17,39,39,39,39,60,54,54,39,17,17,39,39,39,18,39 +db 39,39,17,17,39,54,54,60,32,57,60,60,60,60,60,60 +db 60,60,60,57,32,32,32,60,53,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,53,53 +db 53,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,60,60,32,32,57,57,57,61,60,54 +db 54,54,54,54,54,54,54,54,54,54,54,54,39,39,39,39 +db 39,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,57,32,32,32,32,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,32,32,32,32,57,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,39,32 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,32,32,32 +db 32,32,32,32,58,60,52,32,32,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,58,60,53,32,32,32,32,32,32,32 +db 32,32,39,39,39,39,18,39,39,18,39,18,39,39,39,39 +db 18,39,39,39,18,39,18,39,39,18,39,18,18,18,39,39 +db 39,39,17,17,17,17,17,39,17,17,17,17,17,39,17,17 +db 17,17,17,39,17,17,17,17,17,39,17,17,17,17,17,39 +db 17,17,17,17,17,39,17,17,17,17,17,39,17,17,17,17 +db 17,39,39,39,39,60,32,32,39,39,39,39,39,18,39,39 +db 39,39,39,39,39,32,32,60,57,32,32,32,32,32,32,32 +db 32,32,32,32,32,32,32,60,54,57,57,57,57,57,57,57 +db 57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57 +db 57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57 +db 57,57,57,57,57,57,60,60,57,57,57,57,57,61,32,53 +db 53,53,53,53,53,53,53,53,53,53,53,53,53,39,39,39 +db 39,39,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,39,60,32 +db 60,39,17,39,39,39,39,39,39,39,17,39,60,32,32,32 +db 32,32,32,32,60,60,52,32,32,32,32,32,32,60,60,53 +db 32,32,32,32,32,32,60,60,53,32,32,32,32,32,32,32 +db 32,32,39,39,18,39,39,18,39,39,18,39,39,39,39,39 +db 18,39,39,39,18,39,18,39,18,39,39,18,39,39,39,39 +db 73,39,17,39,39,39,17,39,17,39,39,39,17,39,17,39 +db 39,39,17,39,17,39,39,39,17,39,17,39,39,39,17,39 +db 17,39,39,39,17,39,17,39,39,39,17,39,17,39,39,39 +db 17,39,39,39,39,60,32,32,60,39,17,39,42,39,39,39 +db 39,39,17,39,60,32,32,32,60,58,32,32,32,32,32,32 +db 32,32,32,32,57,57,57,60,32,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,60,60,57,57,57,57,57,62,57,53 +db 53,39,45,39,45,39,45,39,45,39,53,53,54,57,54,53 +db 39,39,39,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,39,39,60,57 +db 57,39,39,39,39,39,17,39,39,39,39,39,57,57,57,44 +db 57,44,57,57,60,60,53,57,57,57,57,57,57,57,53,57 +db 57,57,57,57,57,57,60,60,53,57,57,57,57,57,57,57 +db 57,57,39,39,39,18,18,18,18,39,39,18,18,18,18,39 +db 39,18,18,18,39,39,18,39,39,18,39,18,18,18,18,39 +db 39,39,17,17,17,17,17,39,17,17,17,17,17,39,17,17 +db 17,17,17,39,17,17,17,17,17,39,17,17,17,17,17,39 +db 17,17,17,17,17,39,17,17,17,17,17,39,17,17,17,17 +db 17,39,39,39,39,60,57,57,57,39,39,39,39,39,17,39 +db 39,39,39,39,57,57,57,57,57,60,58,57,57,57,57,57 +db 57,57,57,57,57,57,57,60,57,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,57,57,58,58,58,62,60,32 +db 54,39,41,39,41,39,41,39,41,39,54,54,57,60,60,60 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,60,58,58 +db 58,60,39,39,17,39,17,39,17,39,39,60,58,58,44,44 +db 58,44,44,58,60,60,53,58,58,58,58,58,58,58,58,58 +db 58,58,58,58,58,58,60,60,53,58,58,58,58,58,58,58 +db 58,58,60,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,60,58,58,58,60,39,39,17,39,17,39 +db 17,39,39,60,58,58,58,58,58,58,60,60,58,58,58,58 +db 58,58,58,58,58,58,58,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,58,58,58,58,60,62,60,60 +db 57,39,39,39,39,39,39,39,39,39,57,57,60,62,62,62 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,60,60,60,60 +db 60,60,60,60,39,39,39,39,39,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,54,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,54,60,60,60,60,60,60,60 +db 60,60,60,60,57,57,57,57,57,57,57,57,57,57,57,57 +db 57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57 +db 57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57 +db 57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57 +db 57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57 +db 57,57,57,57,60,60,60,60,60,60,60,60,39,39,39,39 +db 39,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,39,62,61 +db 60,60,60,60,60,60,60,60,60,60,60,60,62,62,62,62 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 +db 39,39,39,39,39,39,39,39,39,39,39,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,32,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,32,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 +db 60,60,60,60,60,60,60,60,60,60,60,60,60,62,62,62 +db 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62 +db 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62 +db 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62 +db 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62 +db 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62 diff --git a/PASS.INC b/PASS.INC new file mode 100644 index 0000000..c97e785 --- /dev/null +++ b/PASS.INC @@ -0,0 +1,23 @@ +;-----------------------------------------; +; password table +;-----------------------------------------; +db 0,28,12, 0 ; 0 +db 4,26,17, 0 ; 1 +db 7,20,14, 0 ; 2 +db 8,19,15, 0 ; 3 +db 9,23,13, 0 ; 4 +db 2,16,24, 0 ; 5 +db 1,18, 5, 0 ; 6 +db 6,25,25, 0 ; 7 +db 4,29, 7, 0 ; 8 +db 3,22,27, 0 ; 9 +db 10,21,30, 0 ; 10 +db 27, 7,18, 0 ; 11 +db 10,15,13, 0 ; 12 +db 11,13,19, 0 ; 13 +db 3,12,26, 0 ; 14 +db 8,20,24, 0 ; 15 +db 22,16,20, 0 ; 16 +db 5,17,23, 0 ; 17 +db 6,17,20, 0 ; 18 +db 30,12,20, 0 ; 19 diff --git a/PLY0.SPR b/PLY0.SPR new file mode 100644 index 0000000..da445fd --- /dev/null +++ b/PLY0.SPR @@ -0,0 +1,2 @@ +dw 4,4 +db 39,17,39,39,17,17,17,39,39,17,39,39,17,39,17,39 diff --git a/PLY1.SPR b/PLY1.SPR new file mode 100644 index 0000000..306b14f --- /dev/null +++ b/PLY1.SPR @@ -0,0 +1,2 @@ +dw 4,4 +db 39,72,39,39,72,72,72,39,39,72,39,39,72,39,72,39 diff --git a/QUIT0.SPR b/QUIT0.SPR new file mode 100644 index 0000000..f38d7f3 --- /dev/null +++ b/QUIT0.SPR @@ -0,0 +1,76 @@ +dw 54,22 +db 0,0,0,0,0,0,0,160,160,189,189,189,189,189,0,0 +db 0,0,0,0,0,160,160,189,189,189,0,0,0,0,0,160 +db 160,189,189,189,160,160,189,189,189,160,160,189,189,189,189,189 +db 189,189,189,189,189,189,0,0,0,0,0,163,163,195,195,195 +db 195,195,195,195,195,195,0,0,0,0,0,163,163,195,195,195 +db 0,0,0,0,0,163,163,195,195,195,163,163,195,195,195,163 +db 163,195,195,195,195,195,195,195,195,195,195,195,0,0,0,165 +db 165,200,200,200,200,200,200,200,200,200,200,200,200,200,0,0 +db 0,165,165,200,200,200,0,0,0,0,0,165,165,200,200,200 +db 165,165,200,200,200,165,165,200,200,200,200,200,200,200,200,200 +db 200,200,0,0,168,168,205,205,205,205,205,205,0,168,168,205 +db 205,205,205,205,205,0,0,168,168,205,205,205,0,0,0,0 +db 0,168,168,205,205,205,168,168,205,205,205,0,0,0,0,168 +db 168,205,205,205,0,0,0,0,0,0,170,170,207,207,207,207 +db 0,0,0,0,0,170,170,207,207,207,207,0,0,170,170,207 +db 207,207,0,0,0,0,0,170,170,207,207,207,170,170,207,207 +db 207,0,0,0,0,170,170,207,207,207,0,0,0,0,0,170 +db 170,207,207,207,207,0,0,0,0,0,0,0,170,170,207,207 +db 207,207,0,170,170,207,207,207,0,0,0,0,0,170,170,207 +db 207,207,170,170,207,207,207,0,0,0,0,170,170,207,207,207 +db 0,0,0,0,0,179,179,207,207,207,0,0,0,0,0,0 +db 0,0,0,179,179,207,207,207,0,179,179,207,207,207,0,0 +db 0,0,0,179,179,207,207,207,179,179,207,207,207,0,0,0 +db 0,179,179,207,207,207,0,0,0,0,179,179,207,207,207,207 +db 0,0,0,0,0,0,0,0,0,179,179,207,207,207,207,179 +db 179,207,207,207,0,0,0,0,0,179,179,207,207,207,179,179 +db 207,207,207,0,0,0,0,179,179,207,207,207,0,0,0,0 +db 184,184,210,210,210,0,0,0,0,0,0,0,0,0,0,0 +db 184,184,210,210,210,184,184,210,210,210,0,0,0,0,0,184 +db 184,210,210,210,184,184,210,210,210,0,0,0,0,184,184,210 +db 210,210,0,0,0,0,184,184,210,210,210,0,0,0,0,0 +db 0,0,0,0,0,0,184,184,210,210,210,184,184,210,210,210 +db 0,0,0,0,0,184,184,210,210,210,184,184,210,210,210,0 +db 0,0,0,184,184,210,210,210,0,0,0,0,187,187,211,211 +db 211,0,0,0,0,0,0,0,0,0,0,0,187,187,211,211 +db 211,187,187,211,211,211,0,0,0,0,0,187,187,211,211,211 +db 187,187,211,211,211,0,0,0,0,187,187,211,211,211,0,0 +db 0,0,190,190,211,211,211,0,0,0,0,0,0,0,0,0 +db 0,0,190,190,211,211,211,190,190,211,211,211,0,0,0,0 +db 0,190,190,211,211,211,190,190,211,211,211,0,0,0,0,190 +db 190,211,211,211,0,0,0,0,194,194,214,214,214,0,0,0 +db 0,0,0,0,0,0,0,0,194,194,214,214,214,194,194,214 +db 214,214,0,0,0,0,0,194,194,214,214,214,194,194,214,214 +db 214,0,0,0,0,194,194,214,214,214,0,0,0,0,195,195 +db 214,214,214,214,0,0,0,0,0,0,0,0,0,195,195,214 +db 214,214,214,195,195,214,214,214,0,0,0,0,0,195,195,214 +db 214,214,195,195,214,214,214,0,0,0,0,195,195,214,214,214 +db 0,0,0,0,0,197,197,214,214,214,0,0,0,0,0,0 +db 0,0,0,197,197,214,214,214,0,197,197,214,214,214,0,0 +db 0,0,0,197,197,214,214,214,197,197,214,214,214,0,0,0 +db 0,197,197,214,214,214,0,0,0,0,0,202,202,215,215,215 +db 215,0,202,202,215,215,215,0,202,202,215,215,215,215,0,202 +db 202,215,215,215,0,0,0,0,0,202,202,215,215,215,202,202 +db 215,215,215,0,0,0,0,202,202,215,215,215,0,0,0,0 +db 0,0,203,203,216,216,216,216,203,203,216,216,216,203,203,216 +db 216,216,216,0,0,203,203,216,216,216,216,0,0,0,203,203 +db 216,216,216,216,203,203,216,216,216,0,0,0,0,203,203,216 +db 216,216,0,0,0,0,0,0,206,206,217,217,217,217,206,206 +db 217,217,217,217,217,217,217,217,217,0,0,0,206,206,217,217 +db 217,217,0,206,206,217,217,217,217,0,206,206,217,217,217,0 +db 0,0,0,206,206,217,217,217,0,0,0,0,0,0,0,210 +db 210,217,217,217,210,210,217,217,217,217,217,217,217,217,0,0 +db 0,0,210,210,217,217,217,217,217,217,217,217,217,217,217,0 +db 210,210,217,217,217,0,0,0,0,210,210,217,217,217,0,0 +db 0,0,0,0,0,0,0,211,0,217,211,211,217,217,217,217 +db 217,217,0,0,0,0,0,0,0,211,211,217,217,217,217,217 +db 217,217,217,217,0,0,211,211,217,217,217,0,0,0,0,211 +db 211,217,217,217,0,0,0,0,0,0,0,0,0,0,0,0 +db 214,214,217,217,217,217,0,0,0,0,0,0,0,0,0,0 +db 0,214,214,217,217,217,217,217,0,0,0,0,214,214,217,217 +db 217,0,0,0,0,214,214,217,217,217,0,0,0,0,0,0 +db 0,0,0,0,0,0,216,216,217,217,217,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0 diff --git a/QUIT1.SPR b/QUIT1.SPR new file mode 100644 index 0000000..28a7621 --- /dev/null +++ b/QUIT1.SPR @@ -0,0 +1,76 @@ +dw 54,22 +db 0,0,0,0,0,0,0,160,160,160,160,160,160,160,0,0 +db 0,0,0,0,0,160,160,160,160,160,0,0,0,0,0,160 +db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160 +db 160,160,160,160,160,160,0,0,0,0,0,160,160,163,163,163 +db 163,163,163,163,163,163,0,0,0,0,0,160,160,163,163,163 +db 0,0,0,0,0,160,160,163,163,163,160,160,163,163,163,160 +db 160,163,163,163,163,163,163,163,163,163,163,163,0,0,0,160 +db 160,165,165,165,165,165,165,165,165,165,165,165,165,165,0,0 +db 0,160,160,165,165,165,0,0,0,0,0,160,160,165,165,165 +db 160,160,165,165,165,160,160,165,165,165,165,165,165,165,165,165 +db 165,165,0,0,160,160,168,168,168,168,168,168,0,160,160,168 +db 168,168,168,168,168,0,0,160,160,168,168,168,0,0,0,0 +db 0,160,160,168,168,168,160,160,168,168,168,0,0,0,0,160 +db 160,168,168,168,0,0,0,0,0,0,160,160,171,171,171,171 +db 0,0,0,0,0,160,160,171,171,171,171,0,0,160,160,171 +db 171,171,0,0,0,0,0,160,160,171,171,171,160,160,171,171 +db 171,0,0,0,0,160,160,171,171,171,0,0,0,0,0,160 +db 160,174,174,174,174,0,0,0,0,0,0,0,160,160,174,174 +db 174,174,0,160,160,174,174,174,0,0,0,0,0,160,160,174 +db 174,174,160,160,174,174,174,0,0,0,0,160,160,174,174,174 +db 0,0,0,0,0,160,160,176,176,176,0,0,0,0,0,0 +db 0,0,0,160,160,176,176,176,0,160,160,176,176,176,0,0 +db 0,0,0,160,160,176,176,176,160,160,176,176,176,0,0,0 +db 0,160,160,176,176,176,0,0,0,0,160,160,179,179,179,179 +db 0,0,0,0,0,0,0,0,0,160,160,179,179,179,179,160 +db 160,179,179,179,0,0,0,0,0,160,160,179,179,179,160,160 +db 179,179,179,0,0,0,0,160,160,179,179,179,0,0,0,0 +db 160,160,182,182,182,0,0,0,0,0,0,0,0,0,0,0 +db 160,160,182,182,182,160,160,182,182,182,0,0,0,0,0,160 +db 160,182,182,182,160,160,182,182,182,0,0,0,0,160,160,182 +db 182,182,0,0,0,0,161,161,184,184,184,0,0,0,0,0 +db 0,0,0,0,0,0,161,161,184,184,184,161,161,184,184,184 +db 0,0,0,0,0,161,161,184,184,184,161,161,184,184,184,0 +db 0,0,0,161,161,184,184,184,0,0,0,0,161,161,187,187 +db 187,0,0,0,0,0,0,0,0,0,0,0,161,161,187,187 +db 187,161,161,187,187,187,0,0,0,0,0,161,161,187,187,187 +db 161,161,187,187,187,0,0,0,0,161,161,187,187,187,0,0 +db 0,0,161,161,190,190,190,0,0,0,0,0,0,0,0,0 +db 0,0,161,161,190,190,190,161,161,190,190,190,0,0,0,0 +db 0,161,161,190,190,190,161,161,190,190,190,0,0,0,0,161 +db 161,190,190,190,0,0,0,0,166,166,193,193,193,0,0,0 +db 0,0,0,0,0,0,0,0,166,166,193,193,193,166,166,193 +db 193,193,0,0,0,0,0,166,166,193,193,193,166,166,193,193 +db 193,0,0,0,0,166,166,193,193,193,0,0,0,0,166,166 +db 195,195,195,195,0,0,0,0,0,0,0,0,0,166,166,195 +db 195,195,195,166,166,195,195,195,0,0,0,0,0,166,166,195 +db 195,195,166,166,195,195,195,0,0,0,0,166,166,195,195,195 +db 0,0,0,0,0,168,168,198,198,198,0,0,0,0,0,0 +db 0,0,0,168,168,198,198,198,0,168,168,198,198,198,0,0 +db 0,0,0,168,168,198,198,198,168,168,198,198,198,0,0,0 +db 0,168,168,198,198,198,0,0,0,0,0,168,168,201,201,201 +db 201,0,168,168,201,201,201,0,168,168,201,201,201,201,0,168 +db 168,201,201,201,0,0,0,0,0,168,168,201,201,201,168,168 +db 201,201,201,0,0,0,0,168,168,201,201,201,0,0,0,0 +db 0,0,169,169,203,203,203,203,169,169,203,203,203,169,169,203 +db 203,203,203,0,0,169,169,203,203,203,203,0,0,0,169,169 +db 203,203,203,203,169,169,203,203,203,0,0,0,0,169,169,203 +db 203,203,0,0,0,0,0,0,170,170,206,206,206,206,170,170 +db 206,206,206,206,206,206,206,206,206,0,0,0,170,170,206,206 +db 206,206,0,170,170,206,206,206,206,0,170,170,206,206,206,0 +db 0,0,0,170,170,206,206,206,0,0,0,0,0,0,0,182 +db 182,209,209,209,182,182,209,209,209,209,209,209,209,209,0,0 +db 0,0,182,182,209,209,209,209,209,209,209,209,209,209,209,0 +db 182,182,209,209,209,0,0,0,0,182,182,209,209,209,0,0 +db 0,0,0,0,0,0,0,191,0,212,191,191,212,212,212,212 +db 212,212,0,0,0,0,0,0,0,191,191,212,212,212,212,212 +db 212,212,212,212,0,0,191,191,212,212,212,0,0,0,0,191 +db 191,212,212,212,0,0,0,0,0,0,0,0,0,0,0,0 +db 193,193,214,214,214,214,0,0,0,0,0,0,0,0,0,0 +db 0,193,193,214,214,214,214,214,0,0,0,0,193,193,214,214 +db 214,0,0,0,0,193,193,214,214,214,0,0,0,0,0,0 +db 0,0,0,0,0,0,193,193,214,214,214,214,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0 diff --git a/ReadMe.txt b/ReadMe.txt new file mode 100644 index 0000000..98aff2a --- /dev/null +++ b/ReadMe.txt @@ -0,0 +1,36 @@ +This is the all files of excutables, datas and sources of PC game Izmir. + +Izmir was released on May 1995 in Korea. +We open the all source and data files for celerbrating 20 years anniversary of first release of the game. + +(c) Copyright Mirinae Software, Inc. +License: Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. + + +You may run the game using DOS-BOX. + +Izmir.exe is the game excutable file. +readme.exe is the manual for the game. +install.exe is setup program for game. + +If you want build project, you need Watcom C/C++ Compiler and Turbo Assembler. + +main source files are + +iziz.asm main program +iz_demo1.asm decoding FLIC movie file and playing BGM +start.c simple startup code for DOS extender + +other *.asm files are various game datas.(they are emmbedded in game excutable file) + +all other files are various data files such as sprites, musics, sounds... + + +Util/splith.c +Util/spllth.exe + +splith is simple utility program for removing header portion from data files for data security. + +use WMAKE(Watcom make program) to build the project using MAKEFILES. + + \ No newline at end of file diff --git a/S-I-END.MUE b/S-I-END.MUE new file mode 100644 index 0000000..c680882 Binary files /dev/null and b/S-I-END.MUE differ diff --git a/S-I-MENU.MUE b/S-I-MENU.MUE new file mode 100644 index 0000000..ec3cd7c Binary files /dev/null and b/S-I-MENU.MUE differ diff --git a/S-I-OVER.MUE b/S-I-OVER.MUE new file mode 100644 index 0000000..ff568ed Binary files /dev/null and b/S-I-OVER.MUE differ diff --git a/S-I-PROL.MUE b/S-I-PROL.MUE new file mode 100644 index 0000000..0de5ac9 Binary files /dev/null and b/S-I-PROL.MUE differ diff --git a/S-I-S1.MUE b/S-I-S1.MUE new file mode 100644 index 0000000..2116a2b Binary files /dev/null and b/S-I-S1.MUE differ diff --git a/S-I-S2.MUE b/S-I-S2.MUE new file mode 100644 index 0000000..1b56f3a Binary files /dev/null and b/S-I-S2.MUE differ diff --git a/S-I-S3.MUE b/S-I-S3.MUE new file mode 100644 index 0000000..648df28 Binary files /dev/null and b/S-I-S3.MUE differ diff --git a/S-I-S4.MUE b/S-I-S4.MUE new file mode 100644 index 0000000..36675f2 Binary files /dev/null and b/S-I-S4.MUE differ diff --git a/S-I-S5.MUE b/S-I-S5.MUE new file mode 100644 index 0000000..e7772e4 Binary files /dev/null and b/S-I-S5.MUE differ diff --git a/S-I-S6.MUE b/S-I-S6.MUE new file mode 100644 index 0000000..2116a2b Binary files /dev/null and b/S-I-S6.MUE differ diff --git a/S-I-STAF.MUE b/S-I-STAF.MUE new file mode 100644 index 0000000..765450b Binary files /dev/null and b/S-I-STAF.MUE differ diff --git a/SINTABLE.INC b/SINTABLE.INC new file mode 100644 index 0000000..ded2f03 --- /dev/null +++ b/SINTABLE.INC @@ -0,0 +1,34 @@ + + db 0,0,36,3,72,6,107,9,140,12,171,15,200,18,226 + db 21,249,24,12,28,26,31,36,34,40,37,39,40,31,43,17 + db 46,252,48,223,51,186,54,141,57,87,60,23,63,206,65,123 + db 68,29,71,180,73,64,76,192,78,52,81,155,83,246,85,67 + db 88,130,90,180,92,215,94,236,96,242,98,233,100,208,102,167 + db 104,110,106,36,108,202,109,95,111,227,112,85,114,182,115,5 + db 117,66,118,108,119,133,120,138,121,125,122,93,123,42,124,228 + db 124,138,125,30,126,157,126,10,127,98,127,167,127,217,127,246 + db 127,255,127,246,127,217,127,167,127,98,127,10,127,157,126,30 + db 126,138,125,228,124,42,124,93,123,125,122,138,121,133,120,108 + db 119,66,118,5,117,182,115,85,114,227,112,95,111,202,109,36 + db 108,110,106,167,104,208,102,233,100,242,98,236,96,215,94,180 + db 92,130,90,67,88,246,85,155,83,52,81,192,78,64,76,180 + db 73,29,71,123,68,206,65,23,63,87,60,141,57,186,54,223 + db 51,252,48,17,46,31,43,39,40,40,37,36,34,26,31,12 + db 28,249,24,226,21,200,18,171,15,140,12,107,9,72,6,36 + db 3,0,0,220,252,184,249,149,246,116,243,85,240,56,237,30 + db 234,7,231,244,227,230,224,220,221,216,218,217,215,225,212,239 + db 209,4,207,33,204,70,201,115,198,169,195,233,192,50,190,133 + db 187,227,184,76,182,192,179,64,177,204,174,101,172,10,170,189 + db 167,126,165,76,163,41,161,20,159,14,157,23,155,48,153,89 + db 151,146,149,220,147,54,146,161,144,29,143,171,141,74,140,251 + db 138,190,137,148,136,123,135,118,134,131,133,163,132,214,131,28 + db 131,118,130,226,129,99,129,246,128,158,128,89,128,39,128,10 + db 128,1,128,10,128,39,128,89,128,158,128,246,128,99,129,226 + db 129,118,130,28,131,214,131,163,132,131,133,118,134,123,135,148 + db 136,190,137,251,138,74,140,171,141,29,143,161,144,54,146,220 + db 147,146,149,89,151,48,153,23,155,14,157,20,159,41,161,76 + db 163,126,165,189,167,10,170,101,172,204,174,64,177,192,179,76 + db 182,227,184,133,187,50,190,233,192,169,195,115,198,70,201,33 + db 204,4,207,239,209,225,212,217,215,216,218,220,221,230,224,244 + db 227,7,231,30,234,56,237,85,240,116,243,149,246,184,249,220 + db 252 diff --git a/SLDBAR.SPR b/SLDBAR.SPR new file mode 100644 index 0000000..d5e22b3 --- /dev/null +++ b/SLDBAR.SPR @@ -0,0 +1,8 @@ +dw 27,4 +db 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64 +db 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64 +db 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64 +db 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64 +db 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64 +db 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64 +db 64,64,64,64,64,64,64,64,64,64,64,64 diff --git a/SLDBAR0.SPR b/SLDBAR0.SPR new file mode 100644 index 0000000..fd10829 --- /dev/null +++ b/SLDBAR0.SPR @@ -0,0 +1,8 @@ +dw 27,4 +db 67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67 +db 67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67 +db 67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67 +db 67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67 +db 67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67 +db 67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67 +db 67,67,67,67,67,67,67,67,67,67,67,67 diff --git a/ST1.PAL b/ST1.PAL new file mode 100644 index 0000000..79e7b17 Binary files /dev/null and b/ST1.PAL differ diff --git a/ST2.PAL b/ST2.PAL new file mode 100644 index 0000000..1dd21a7 Binary files /dev/null and b/ST2.PAL differ diff --git a/ST3.PAL b/ST3.PAL new file mode 100644 index 0000000..ac52fc3 Binary files /dev/null and b/ST3.PAL differ diff --git a/ST4.PAL b/ST4.PAL new file mode 100644 index 0000000..b844fd4 Binary files /dev/null and b/ST4.PAL differ diff --git a/ST5.PAL b/ST5.PAL new file mode 100644 index 0000000..4ab8509 Binary files /dev/null and b/ST5.PAL differ diff --git a/ST6.PAL b/ST6.PAL new file mode 100644 index 0000000..fa2639e Binary files /dev/null and b/ST6.PAL differ diff --git a/START.C b/START.C new file mode 100644 index 0000000..47e6d2d --- /dev/null +++ b/START.C @@ -0,0 +1,116 @@ +/***************************************************** + IZMIR start up C code +******************************************************/ +#include +#include +#include +#include + +#include "voice.h" + +// int soundpar = 0; +int stagepar = 1; +unsigned char *vocfn[13] ={"izbeam1.mrv", + "izbomb2.mrv", + "iz01.mrv", + "iz02.mrv", + "iz03.mrv", + "iz04.mrv", + "iz05.mrv", + "iz06.mrv", + "iz07.mrv", + "iz08.mrv", + "iz09.mrv", + "iz10.mrv", + "iz11.mrv"}; +extern unsigned char *PCMptr; +extern unsigned char *vptr[13]; +extern unsigned short l[13]; + +extern void start(void); + +void Intro(void) +{ + union REGS regs; + + regs.w.ax = 0x3; + int386(0x10,®s,®s); + + printf("IZMIR Version 1.0\n"); + printf("3D Shooting Game.\n"); + printf("Copyright (c) 1995 MIRINAE Software, Inc.\n\n"); +} + +int sound_init(void) +{ + FILE *fp; + unsigned short i; + + for (i = 0;i < 13;i++) + { + if ((fp = fopen(vocfn[i],"rb"))==NULL) return(-1); + + if (filelength(fileno(fp)) > 64000L) l[i] = 64000; + else l[i] = (unsigned short)filelength(fileno(fp)); + + vptr[i] = malloc(l[i]); + + if (vptr[i]==NULL) + { + silentVoice(0); + fclose(fp); return(-2); + } + + fread(vptr[i],1,l[i],fp); + fclose(fp); + } +/* + if (SBLAutoDetect()<1) + { + printf("Sound Card not Found !\n"); + }; + printf("SB IRQ : %d\n", SBLIRQ); + printf("SB DMA CHANNEL : %d\n", SBLDMAChannel); + + initVoice(SOUNDBLASTER); + + setSampleRate(8000) ; +*/ +// for ( i = 0; i < 64000l; i++) *(PCMptr + i) = 128; + +// sayPCM(vptr[0],l[0]); +// sayPCM(vptr[1],l[1]); + + return(0); +} + +main(int argc, char *argv[]) +{ + int i; + + Intro(); + + if(argc > 1) + { +// soundpar = atoi(argv[1]); + stagepar = atoi(argv[1]); +// if (stagepar > 7) stagepar = 7; + stagepar = 1; +// if (soundpar == 0) { soundpar = 1; goto there;} +// else soundpar = 0; + } + + if( sound_init() < 0 ) { printf("Voice file loading error"); return;} +//there: +// printf("Press any key to start...\n"); + start(); + +// for(i=100;i<120;i++) +// printf("%d : %d\n",i,FindSqrt(i)); + + for(i=0;i<12;i++) free(vptr[i]); + + endVoice(); + printf("Thanks for playing IZMIR"); +} + diff --git a/START0.SPR b/START0.SPR new file mode 100644 index 0000000..a2377c5 --- /dev/null +++ b/START0.SPR @@ -0,0 +1,95 @@ +dw 71,21 +db 0,0,160,160,189,189,189,189,189,189,189,189,189,189,189,160 +db 160,189,189,189,189,189,189,189,189,189,189,189,0,0,0,0 +db 160,160,189,189,189,189,189,0,0,0,0,0,0,0,0,160 +db 160,189,189,189,189,0,0,0,0,0,160,160,189,189,189,189 +db 189,189,189,189,189,189,189,0,163,163,195,195,195,195,195,195 +db 195,195,195,195,195,195,163,163,195,195,195,195,195,195,195,195 +db 195,195,195,0,0,163,163,195,195,195,195,195,195,195,195,195 +db 0,0,0,0,163,163,195,195,195,195,195,195,195,195,0,0 +db 0,163,163,195,195,195,195,195,195,195,195,195,195,195,165,165 +db 200,200,200,200,200,200,200,200,200,200,200,200,200,165,165,200 +db 200,200,200,200,200,200,200,200,200,200,0,165,165,200,200,200 +db 200,200,200,200,200,200,200,200,0,0,165,165,200,200,200,200 +db 200,200,200,200,200,200,0,0,165,165,200,200,200,200,200,200 +db 200,200,200,200,200,168,168,205,205,205,205,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,168,168,205,205,205,0,0,0 +db 0,0,168,168,205,205,205,205,0,168,168,205,205,205,205,0 +db 0,168,168,205,205,205,205,168,168,205,205,205,205,0,0,0 +db 0,0,0,168,168,205,205,205,0,0,0,0,170,170,207,207 +db 207,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170 +db 170,207,207,207,0,0,0,0,170,170,207,207,207,207,0,0 +db 0,170,170,207,207,207,207,170,170,207,207,207,207,0,0,170 +db 170,207,207,207,207,0,0,0,0,0,170,170,207,207,207,0 +db 0,0,0,170,170,207,207,207,207,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,170,170,207,207,207,0,0,0,0,170 +db 170,207,207,207,0,0,0,0,0,170,170,207,207,207,170,170 +db 207,207,207,0,0,0,0,170,170,207,207,207,0,0,0,0 +db 0,170,170,207,207,207,0,0,0,0,0,179,179,207,207,207 +db 207,0,0,0,0,0,0,0,0,0,0,0,0,179,179,207 +db 207,207,0,0,0,0,179,179,207,207,207,0,0,0,0,0 +db 179,179,207,207,207,179,179,207,207,207,0,0,0,0,179,179 +db 207,207,207,0,0,0,0,0,179,179,207,207,207,0,0,0 +db 0,0,0,179,179,207,207,207,207,0,0,0,0,0,0,0 +db 0,0,0,0,179,179,207,207,207,0,0,0,0,179,179,207 +db 207,207,0,0,0,0,0,179,179,207,207,207,179,179,207,207 +db 207,0,0,0,179,179,207,207,207,207,0,0,0,0,0,179 +db 179,207,207,207,0,0,0,0,0,0,0,184,184,210,210,210 +db 210,0,0,0,0,0,0,0,0,0,0,184,184,210,210,210 +db 0,0,0,0,184,184,210,210,210,0,0,0,0,0,184,184 +db 210,210,210,184,184,210,210,210,0,0,184,184,210,210,210,210 +db 0,0,0,0,0,0,184,184,210,210,210,0,0,0,0,0 +db 0,0,0,184,184,210,210,210,210,0,0,0,0,0,0,0 +db 0,0,184,184,210,210,210,0,0,0,0,184,184,210,210,210 +db 184,184,210,210,210,210,210,210,210,210,184,184,210,210,210,184 +db 184,210,210,210,210,210,0,0,0,0,0,0,0,184,184,210 +db 210,210,0,0,0,0,0,0,0,0,0,187,187,211,211,211 +db 211,0,0,0,0,0,0,0,0,187,187,211,211,211,0,0 +db 0,0,187,187,211,211,211,187,187,211,211,211,211,211,211,211 +db 211,187,187,211,211,211,187,187,211,211,211,211,211,211,0,0 +db 0,0,0,0,187,187,211,211,211,0,0,0,0,0,0,0 +db 0,0,0,190,190,211,211,211,211,0,0,0,0,0,0,0 +db 190,190,211,211,211,0,0,0,0,190,190,211,211,211,190,190 +db 211,211,211,211,211,211,211,211,190,190,211,211,211,190,190,211 +db 211,211,211,211,211,211,0,0,0,0,0,190,190,211,211,211 +db 0,0,0,0,0,0,0,0,0,0,0,194,194,214,214,214 +db 214,0,0,0,0,0,0,194,194,214,214,214,0,0,0,0 +db 194,194,214,214,214,0,0,0,0,0,194,194,214,214,214,194 +db 194,214,214,214,0,0,0,0,194,194,214,214,214,0,0,0 +db 0,0,194,194,214,214,214,0,0,0,0,0,0,0,0,0 +db 0,0,0,195,195,214,214,214,214,0,0,0,0,0,195,195 +db 214,214,214,0,0,0,0,195,195,214,214,214,0,0,0,0 +db 0,195,195,214,214,214,195,195,214,214,214,0,0,0,0,195 +db 195,214,214,214,214,0,0,0,0,195,195,214,214,214,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,197,197,214,214,214 +db 214,0,0,0,0,197,197,214,214,214,0,0,0,0,197,197 +db 214,214,214,0,0,0,0,0,197,197,214,214,214,197,197,214 +db 214,214,0,0,0,0,0,197,197,214,214,214,0,0,0,0 +db 197,197,214,214,214,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,202,202,215,215,215,0,0,0,0,202,202,215,215 +db 215,0,0,0,0,202,202,215,215,215,0,0,0,0,0,202 +db 202,215,215,215,202,202,215,215,215,0,0,0,0,0,202,202 +db 215,215,215,0,0,0,0,202,202,215,215,215,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,203,203,216,216,216,0 +db 0,0,0,203,203,216,216,216,0,0,0,0,203,203,216,216 +db 216,0,0,0,0,0,203,203,216,216,216,203,203,216,216,216 +db 0,0,0,0,0,203,203,216,216,216,0,0,0,0,203,203 +db 216,216,216,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 206,206,217,217,217,217,0,0,0,0,206,206,217,217,217,0 +db 0,0,0,206,206,217,217,217,0,0,0,0,0,206,206,217 +db 217,217,206,206,217,217,217,0,0,0,0,0,206,206,217,217 +db 217,0,0,0,0,206,206,217,217,217,0,0,0,0,210,210 +db 217,217,217,217,217,217,217,217,217,217,217,217,217,0,0,0 +db 0,210,210,217,217,217,0,0,0,0,210,210,217,217,217,0 +db 0,0,0,0,210,210,217,217,217,210,210,217,217,217,0,0 +db 0,0,0,210,210,217,217,217,0,0,0,0,210,210,217,217 +db 217,0,0,0,0,211,211,217,217,217,217,217,217,217,217,217 +db 217,217,217,0,0,0,0,0,211,211,217,217,217,0,0,0 +db 0,211,211,217,217,217,0,0,0,0,0,211,211,217,217,217 +db 211,211,217,217,217,0,0,0,0,0,211,211,217,217,217,0 +db 0,0,0,211,211,217,217,217,0,0,0,0,214,214,217,217 +db 217,217,217,217,217,217,217,217,217,0,0,0,0,0,0,214 +db 214,217,217,217,0,0,0,0,214,214,217,217,217,0,0,0 +db 0,0,214,214,217,217,217,214,214,217,217,217,0,0,0,0 +db 0,214,214,217,217,217,0,0,0,0,214,214,217,217,217,0 +db 0,0,0 diff --git a/START1.SPR b/START1.SPR new file mode 100644 index 0000000..89104ce --- /dev/null +++ b/START1.SPR @@ -0,0 +1,95 @@ +dw 71,21 +db 0,0,160,160,160,160,160,160,160,160,160,160,160,160,160,160 +db 160,160,160,160,160,160,160,160,160,160,160,160,0,0,0,0 +db 160,160,160,160,160,160,160,0,0,0,0,0,0,0,0,160 +db 160,160,160,160,160,0,0,0,0,0,160,160,160,160,160,160 +db 160,160,160,160,160,160,160,0,160,160,163,163,163,163,163,163 +db 163,163,163,163,163,163,160,160,163,163,163,163,163,163,163,163 +db 163,163,163,0,0,160,160,163,163,163,163,163,163,163,163,163 +db 0,0,0,0,160,160,163,163,163,163,163,163,163,163,0,0 +db 0,160,160,163,163,163,163,163,163,163,163,163,163,163,160,160 +db 165,165,165,165,165,165,165,165,165,165,165,165,165,160,160,165 +db 165,165,165,165,165,165,165,165,165,165,0,160,160,165,165,165 +db 165,165,165,165,165,165,165,165,0,0,160,160,165,165,165,165 +db 165,165,165,165,165,165,0,0,160,160,165,165,165,165,165,165 +db 165,165,165,165,165,160,160,168,168,168,168,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,160,160,168,168,168,0,0,0 +db 0,0,160,160,168,168,168,168,0,160,160,168,168,168,168,0 +db 0,160,160,168,168,168,168,160,160,168,168,168,168,0,0,0 +db 0,0,0,160,160,168,168,168,0,0,0,0,160,160,171,171 +db 171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160 +db 160,171,171,171,0,0,0,0,160,160,171,171,171,171,0,0 +db 0,160,160,171,171,171,171,160,160,171,171,171,171,0,0,160 +db 160,171,171,171,171,0,0,0,0,0,160,160,171,171,171,0 +db 0,0,0,160,160,174,174,174,174,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,160,160,174,174,174,0,0,0,0,160 +db 160,174,174,174,0,0,0,0,0,160,160,174,174,174,160,160 +db 174,174,174,0,0,0,0,160,160,174,174,174,0,0,0,0 +db 0,160,160,174,174,174,0,0,0,0,0,160,160,176,176,176 +db 176,0,0,0,0,0,0,0,0,0,0,0,0,160,160,176 +db 176,176,0,0,0,0,160,160,176,176,176,0,0,0,0,0 +db 160,160,176,176,176,160,160,176,176,176,0,0,0,0,160,160 +db 176,176,176,0,0,0,0,0,160,160,176,176,176,0,0,0 +db 0,0,0,160,160,179,179,179,179,0,0,0,0,0,0,0 +db 0,0,0,0,160,160,179,179,179,0,0,0,0,160,160,179 +db 179,179,0,0,0,0,0,160,160,179,179,179,160,160,179,179 +db 179,0,0,0,160,160,179,179,179,179,0,0,0,0,0,160 +db 160,179,179,179,0,0,0,0,0,0,0,160,160,182,182,182 +db 182,0,0,0,0,0,0,0,0,0,0,160,160,182,182,182 +db 0,0,0,0,160,160,182,182,182,0,0,0,0,0,160,160 +db 182,182,182,160,160,182,182,182,0,0,160,160,182,182,182,182 +db 0,0,0,0,0,0,160,160,182,182,182,0,0,0,0,0 +db 0,0,0,161,161,184,184,184,184,0,0,0,0,0,0,0 +db 0,0,161,161,184,184,184,0,0,0,0,161,161,184,184,184 +db 161,161,184,184,184,184,184,184,184,184,161,161,184,184,184,161 +db 161,184,184,184,184,184,0,0,0,0,0,0,0,161,161,184 +db 184,184,0,0,0,0,0,0,0,0,0,161,161,187,187,187 +db 187,0,0,0,0,0,0,0,0,161,161,187,187,187,0,0 +db 0,0,161,161,187,187,187,161,161,187,187,187,187,187,187,187 +db 187,161,161,187,187,187,161,161,187,187,187,187,187,187,0,0 +db 0,0,0,0,161,161,187,187,187,0,0,0,0,0,0,0 +db 0,0,0,161,161,190,190,190,190,0,0,0,0,0,0,0 +db 161,161,190,190,190,0,0,0,0,161,161,190,190,190,161,161 +db 190,190,190,190,190,190,190,190,161,161,190,190,190,161,161,190 +db 190,190,190,190,190,190,0,0,0,0,0,161,161,190,190,190 +db 0,0,0,0,0,0,0,0,0,0,0,166,166,193,193,193 +db 193,0,0,0,0,0,0,166,166,193,193,193,0,0,0,0 +db 166,166,193,193,193,0,0,0,0,0,166,166,193,193,193,166 +db 166,193,193,193,0,0,0,0,166,166,193,193,193,0,0,0 +db 0,0,166,166,193,193,193,0,0,0,0,0,0,0,0,0 +db 0,0,0,166,166,195,195,195,195,0,0,0,0,0,166,166 +db 195,195,195,0,0,0,0,166,166,195,195,195,0,0,0,0 +db 0,166,166,195,195,195,166,166,195,195,195,0,0,0,0,166 +db 166,195,195,195,195,0,0,0,0,166,166,195,195,195,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,168,168,198,198,198 +db 198,0,0,0,0,168,168,198,198,198,0,0,0,0,168,168 +db 198,198,198,0,0,0,0,0,168,168,198,198,198,168,168,198 +db 198,198,0,0,0,0,0,168,168,198,198,198,0,0,0,0 +db 168,168,198,198,198,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,168,168,201,201,201,0,0,0,0,168,168,201,201 +db 201,0,0,0,0,168,168,201,201,201,0,0,0,0,0,168 +db 168,201,201,201,168,168,201,201,201,0,0,0,0,0,168,168 +db 201,201,201,0,0,0,0,168,168,201,201,201,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,169,169,203,203,203,0 +db 0,0,0,169,169,203,203,203,0,0,0,0,169,169,203,203 +db 203,0,0,0,0,0,169,169,203,203,203,169,169,203,203,203 +db 0,0,0,0,0,169,169,203,203,203,0,0,0,0,169,169 +db 203,203,203,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 170,170,206,206,206,206,0,0,0,0,170,170,206,206,206,0 +db 0,0,0,170,170,206,206,206,0,0,0,0,0,170,170,206 +db 206,206,170,170,206,206,206,0,0,0,0,0,170,170,206,206 +db 206,0,0,0,0,170,170,206,206,206,0,0,0,0,182,182 +db 209,209,209,209,209,209,209,209,209,209,209,209,209,0,0,0 +db 0,182,182,209,209,209,0,0,0,0,182,182,209,209,209,0 +db 0,0,0,0,182,182,209,209,209,182,182,209,209,209,0,0 +db 0,0,0,182,182,209,209,209,0,0,0,0,182,182,209,209 +db 209,0,0,0,0,191,191,212,212,212,212,212,212,212,212,212 +db 212,212,212,0,0,0,0,0,191,191,212,212,212,0,0,0 +db 0,191,191,212,212,212,0,0,0,0,0,191,191,212,212,212 +db 191,191,212,212,212,0,0,0,0,0,191,191,212,212,212,0 +db 0,0,0,191,191,212,212,212,0,0,0,0,193,193,214,214 +db 214,214,214,214,214,214,214,214,214,0,0,0,0,0,0,193 +db 193,214,214,214,0,0,0,0,193,193,214,214,214,0,0,0 +db 0,0,193,193,214,214,214,193,193,214,214,214,0,0,0,0 +db 0,193,193,214,214,214,0,0,0,0,193,193,214,214,214,0 +db 0,0,0 diff --git a/SYSPAL.INC b/SYSPAL.INC new file mode 100644 index 0000000..53cbc5d --- /dev/null +++ b/SYSPAL.INC @@ -0,0 +1,48 @@ +db 0,0,0,29,34,63,21,25,50,14,17,37,7,9,23,0 +db 1,10,61,50,6,29,28,31,22,22,22,10,12,41,15,18 +db 50,21,24,60,36,13,0,23,4,0,2,10,0,20,0,0 +db 0,36,0,0,15,0,56,18,0,63,42,0,63,63,63,60 +db 60,61,53,53,53,47,47,48,40,42,47,36,38,43,31,33 +db 38,27,30,34,24,26,30,29,25,24,30,23,18,21,22,26 +db 17,19,22,35,22,0,19,15,13,14,15,18,27,17,0,10 +db 11,13,6,6,7,2,2,3,51,30,0,47,17,0,41,13 +db 0,37,11,0,33,8,0,27,5,0,20,0,0,33,2,2 +db 39,7,5,56,56,56,51,51,51,46,46,47,38,39,40,32 +db 32,33,25,26,28,22,23,25,19,20,21,16,17,19,11,13 +db 16,10,11,12,8,9,10,6,7,8,4,4,5,1,1,2 +db 63,0,63,43,0,43,33,0,33,25,0,25,51,51,0,51 +db 38,0,51,28,0,49,18,0,0,45,0,0,34,0,0,23 +db 0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +db 0,0,0,0,22,22,22,38,38,38,52,52,52,63,0,0 diff --git a/SYSTEM.PAL b/SYSTEM.PAL new file mode 100644 index 0000000..212b012 Binary files /dev/null and b/SYSTEM.PAL differ diff --git a/TEXMAP1.BOD b/TEXMAP1.BOD new file mode 100644 index 0000000..9b1d646 Binary files /dev/null and b/TEXMAP1.BOD differ diff --git a/TEXMAP2.BOD b/TEXMAP2.BOD new file mode 100644 index 0000000..6c7baaa Binary files /dev/null and b/TEXMAP2.BOD differ diff --git a/TEXMAP3.BOD b/TEXMAP3.BOD new file mode 100644 index 0000000..3e4bf7a Binary files /dev/null and b/TEXMAP3.BOD differ diff --git a/TEXMAP4.BOD b/TEXMAP4.BOD new file mode 100644 index 0000000..414418d Binary files /dev/null and b/TEXMAP4.BOD differ diff --git a/TEXMAP5.BOD b/TEXMAP5.BOD new file mode 100644 index 0000000..eb24045 Binary files /dev/null and b/TEXMAP5.BOD differ diff --git a/TEXMAP6.BOD b/TEXMAP6.BOD new file mode 100644 index 0000000..e33a1b4 Binary files /dev/null and b/TEXMAP6.BOD differ diff --git a/THE_MUE.MRN b/THE_MUE.MRN new file mode 100644 index 0000000..2e0a404 Binary files /dev/null and b/THE_MUE.MRN differ diff --git a/Util/SPLITH.C b/Util/SPLITH.C new file mode 100644 index 0000000..14ca352 --- /dev/null +++ b/Util/SPLITH.C @@ -0,0 +1,124 @@ +/*************************************************************** + splith.c (c) 1994, 1995 Mirinae Software ,Inc. + code : KIM SEONG WAN + + 1994. 7 Header split 1.0 handle only 128 bytes header + 1995. 1. 1 Version 1.1 handle any size of header + some bug fixed + memory model : large +****************************************************************/ + + +#include +#include +#include +#include +#include +#include + +typedef unsigned char byte; + +unsigned int page_num; +unsigned int page_etc; +unsigned long data_size; +FILE *sfp, *tfp; + +char path[80]; +char drive[3],dir[66],name[9],ext[5]; +int i; +int hsize; +char *head_buffer; +char *buffer; + +int main(int argc, char *argv[]) +{ + char fname[20]; + + if (argc<2) + { + printf("Header split 1.2 (c) 1994-1995 Mirinae Software, Inc.\n\n"); + printf("Usage : SPLITH filename [n]\n"); + printf(" [n] header size in bytes\n"); + printf(" default 128\n"); + return 1; + } + + buffer = malloc(32768); + + getcwd(path,80); + strcat(path, "\\"); + strcat(path, argv[1]); + fnsplit(path,drive,dir,name,ext); + + if ((sfp = fopen(argv[1], "rb")) == NULL) + { + printf("Cannot open input file.\n"); + exit(1); + } + + if ( argc < 3 ) hsize = 128; + else hsize = atoi(argv[2]); + + head_buffer = malloc(hsize); + + data_size = filelength(fileno(sfp)) - hsize; + + fread(head_buffer,hsize,1,sfp); + + strncpy(fname,name,8); + fname[8]='\0'; + strcat(fname,".hdr"); + + if ((tfp = fopen(fname, "wb")) == NULL) + { + printf("Cannot open output file.\n"); + exit(0); + } + printf("writing file : %s\n",fname); + if (fwrite(head_buffer,1,hsize,tfp)!=hsize) + { + printf("1Write error or disk full"); + exit(1); + } + fclose(tfp); + + strncpy(fname,name,8); + fname[8]='\0'; + strcat(fname,".bod"); + + if ((tfp = fopen(fname, "wb")) == NULL) + { + printf("\nCannot open output file.\n"); + exit(0); + } + + printf("Writing file : %s\n",fname); + + page_num = data_size / 32768; + page_etc = data_size % 32768; + + for ( i=0;i