mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2025-02-22 12:29:06 +00:00
more pixel editor
This commit is contained in:
parent
112cbeda1e
commit
2768819117
15
pixels.html
15
pixels.html
@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>8bitworkshop Pixel Editor</title>
|
||||
<style type="text/css" media="screen">
|
||||
@ -7,7 +7,7 @@ body {
|
||||
overflow: hidden !important;
|
||||
font-size: 11px;
|
||||
}
|
||||
.pixels {
|
||||
.thumb {
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="css/ui.css">
|
||||
@ -24,7 +24,9 @@ body {
|
||||
</div>
|
||||
|
||||
<div id="notebook">
|
||||
<div id="maineditor" class="emubevel">
|
||||
<div id="maineditor" style="width:50%;height:50%">
|
||||
</div>
|
||||
<div id="thumbnaildiv" style="float:right;transform:scale(2);margin-right:10%">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -44,10 +46,17 @@ if (window.self === window.top) {
|
||||
var fmt = {w:8,h:8,bpp:1,count:8};
|
||||
var palette = [0xff000000, 0xffffffff];
|
||||
*/
|
||||
/*
|
||||
var paldatastr = " 0x00, 0x03, 0x19, 0x50, 0x52, 0x07, 0x1f, 0x37, 0xe0, 0xa4, 0xfd, 0xff, 0x38, 0x70, 0x7f, 0xf8, ";
|
||||
var fmt = {w:14,h:16,bpp:4,brev:1};
|
||||
fmt = {w:14,h:8,bpp:4,brev:1,count:2};
|
||||
var datastr = "0x00,0x00,0xef,0xef,0xe0,0x00,0x00, 0x00,0xee,0xee,0xfe,0xee,0xe0,0x00, 0x0e,0xed,0xef,0xef,0xed,0xee,0x00, 0x0e,0xee,0xdd,0xdd,0xde,0xee,0x00, 0x0e,0xee,0xed,0xde,0xee,0xee,0x00, 0x00,0xee,0xee,0xde,0xee,0xe0,0x00, 0x00,0xee,0xee,0xde,0xee,0xe0,0x00, 0x00,0x00,0xed,0xdd,0xe0,0x00,0x0d, 0xdd,0xdd,0xee,0xee,0xed,0xdd,0xd0, 0x0d,0xee,0xee,0xee,0xee,0xee,0x00, 0x0e,0xe0,0xee,0xee,0xe0,0xee,0x00, 0x0e,0xe0,0xee,0xee,0xe0,0xee,0x00, 0x0e,0xe0,0xdd,0xdd,0xd0,0xde,0x00, 0x0d,0x00,0xee,0x0e,0xe0,0x0d,0x00, 0x00,0x00,0xed,0x0e,0xe0,0x00,0x00, 0x00,0x0d,0xdd,0x0d,0xdd,0x00,0x18,";
|
||||
*/
|
||||
var datastr = "0x00,0xfe,0x82,0x82,0x82,0xfe,0xfe,0x00,0x00,0x00,0xfe,0xfe,0xc0,0x00,0x00,0x00,0x00,0xf2,0xf2,0x92,0x92,0x9e,0x9e,0x00,0x00,0xfe,0xfe,0x92,0x92,0x82,0x00,0x00,0x08,0xfe,0xfe,0x88,0x88,0xf8,0xf8,0x00,0x00,0x9e,0x9e,0x92,0x92,0xf2,0xf2,0x00,0x00,0x9e,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0xf0,0xf0,0x9e,0x9e,0x80,0x80,0x00,0x00,0xfe,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0xfe,0x92,0x92,0x92,0xf2,0xf0,0x00,0x00,0xfe,0xc8,0x88,0x88,0xfe,0xfe,0x00,0x00,0xee,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0x82,0x82,0x82,0x86,0xfe,0xfe,0x00,0x00,0xfc,0x86,0x82,0x82,0xfe,0xfe,0x00,0x00,0x82,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0x80,0x90,0x90,0x90,0xfe,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xc8,0x88,0x88,0xfe,0xfe,0x00,0x00,0xee,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0x82,0x82,0x82,0x86,0xfe,0xfe,0x00,0x00,0xfc,0x86,0x82,0x82,0xfe,0xfe,0x00,0x00,0x82,0x92,0x92,0x92,0xfe,0xfe,0x00,0x80,0x90,0x90,0x90,0x90,0xfe,0xfe,0x00,0x00,0x9e,0x92,0x82,0x82,0xfe,0xfe,0x00,0xfe,0xfe,0x10,0x10,0x10,0xfe,0xfe,0x00,0x00,0x00,0xbe,0xbe,0x00,0x00,0x00,0x00,0xfc,0xfe,0x06,0x02,0x02,0x02,0x00,0x00,0x00,0x82,0x44,0x28,0x18,0xfe,0xfe,0x00,0x02,0x02,0x02,0x06,0xfe,0xfe,0x00,0x00,0xfe,0x40,0x20,0x18,0x20,0xfe,0xfe,0x00,0xfe,0x0c,0x08,0x10,0x20,0xfe,0xfe,0x00,0xfe,0x82,0x82,0x82,0x86,0xfe,0xfe,0x00,0x00,0xfe,0x82,0x82,0x82,0xfe,0xfe,0x00,0x00,0x00,0xfe,0xfe,0xc0,0x00,0x00,0x00,0x00,0xf2,0xf2,0x92,0x92,0x9e,0x9e,0x00,0x00,0xfe,0xfe,0x92,0x92,0x82,0x00,0x00,0x08,0xfe,0xfe,0x88,0x88,0xf8,0xf8,0x00,0x00,0x9e,0x9e,0x92,0x92,0xf2,0xf2,0x00,0x00,0x9e,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0xf0,0xf0,0x9e,0x9e,0x80,0x80,0x00,0x00,0xfe,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0xfe,0x92,0x92,0x92,0xf2,0xf0,0x00,0x00,0xfe,0xc8,0x88,0x88,0xfe,0xfe,0x00,0x00,0xee,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0x82,0x82,0x82,0x86,0xfe,0xfe,0x00,0x00,0xfc,0x86,0x82,0x82,0xfe,0xfe,0x00,0x00,0x82,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0x80,0x90,0x90,0x90,0xfe,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xc8,0x88,0x88,0xfe,0xfe,0x00,0x00,0xee,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0x82,0x82,0x82,0x86,0xfe,0xfe,0x00,0x00,0xfc,0x86,0x82,0x82,0xfe,0xfe,0x00,0x00,0x82,0x92,0x92,0x92,0xfe,0xfe,0x00,0x80,0x90,0x90,0x90,0x90,0xfe,0xfe,0x00,0x00,0x9e,0x92,0x82,0x82,0xfe,0xfe,0x00,0xfe,0xfe,0x10,0x10,0x10,0xfe,0xfe,0x00,0x00,0x00,0xbe,0xbe,0x00,0x00,0x00,0x00,0xfc,0xfe,0x06,0x02,0x02,0x02,0x00,0x00,0x00,0x82,0x44,0x28,0x18,0xfe,0xfe,0x00,0x02,0x02,0x02,0x06,0xfe,0xfe,0x00,0x00,0xfe,0x40,0x20,0x18,0x20,0xfe,0xfe,0x00,0xfe,0x0c,0x08,0x10,0x20,0xfe,0xfe,0x00,0xfe,0x82,0x82,0x82,0x86,0xfe,0xfe,0x00,";
|
||||
var fmt = {w:8,h:8,bpp:1,np:2,pofs:0x100,count:32,xform:"rotate(90deg) scaleX(-1)"};
|
||||
var paldatastr = "0x00,0x30,0x4f,0xff,0x00,0xf0,0xc0,0x7f, 0x00,0xc0,0x04,0x1f,0x00,0xd0,0xd0,0x0f, 0x00,0xc0,0xc0,0x0f,0x00,0x04,0x04,0x0f, 0x00,0xff,0x0f,0xf0,0x00,0x7f,0x0f,0xdf,";
|
||||
pixelEditorReceiveMessage({data:{fmt:fmt,bytestr:datastr,palfmt:{pal:332,n:16},palstr:paldatastr}});
|
||||
console.log(postToParentWindow({save:true}));
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -45,7 +45,14 @@ __endasm;
|
||||
main();
|
||||
}
|
||||
|
||||
const char __at (0x4000) tilerom[0x1000] = {
|
||||
const char __at (0x5000) palette[32] = {/*{pal:332,n:4}*/
|
||||
0x00,0x80,0xf0,0xff,0x00,0xf0,0xc0,0x7f,
|
||||
0x00,0xc0,0x04,0x1f,0x00,0xd0,0xd0,0x0f,
|
||||
0x00,0xc0,0xc0,0x0f,0x00,0x04,0x04,0x0f,
|
||||
0x00,0xff,0x0f,0xf0,0x00,0x7f,0x0f,0xdf,
|
||||
};
|
||||
|
||||
const char __at (0x4000) tilerom[0x1000] = {/*{w:8,h:8,bpp:1,np:2,pofs:2048,count:256}*/
|
||||
0x00,0xfe,0x82,0x82,0x82,0xfe,0xfe,0x00,0x00,0x00,0xfe,0xfe,0xc0,0x00,0x00,0x00,0x00,0xf2,0xf2,0x92,0x92,0x9e,0x9e,0x00,0x00,0xfe,0xfe,0x92,0x92,0x82,0x00,0x00,0x08,0xfe,0xfe,0x88,0x88,0xf8,0xf8,0x00,0x00,0x9e,0x9e,0x92,0x92,0xf2,0xf2,0x00,0x00,0x9e,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0xf0,0xf0,0x9e,0x9e,0x80,0x80,0x00,0x00,0xfe,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0xfe,0x92,0x92,0x92,0xf2,0xf0,0x00,0x00,0xfe,0xc8,0x88,0x88,0xfe,0xfe,0x00,0x00,0xee,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0x82,0x82,0x82,0x86,0xfe,0xfe,0x00,0x00,0xfc,0x86,0x82,0x82,0xfe,0xfe,0x00,0x00,0x82,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0x80,0x90,0x90,0x90,0xfe,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xc8,0x88,0x88,0xfe,0xfe,0x00,0x00,0xee,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0x82,0x82,0x82,0x86,0xfe,0xfe,0x00,0x00,0xfc,0x86,0x82,0x82,0xfe,0xfe,0x00,0x00,0x82,0x92,0x92,0x92,0xfe,0xfe,0x00,0x80,0x90,0x90,0x90,0x90,0xfe,0xfe,0x00,0x00,0x9e,0x92,0x82,0x82,0xfe,0xfe,0x00,0xfe,0xfe,0x10,0x10,0x10,0xfe,0xfe,0x00,0x00,0x00,0xbe,0xbe,0x00,0x00,0x00,0x00,0xfc,0xfe,0x06,0x02,0x02,0x02,0x00,0x00,0x00,0x82,0x44,0x28,0x18,0xfe,0xfe,0x00,0x02,0x02,0x02,0x06,0xfe,0xfe,0x00,0x00,0xfe,0x40,0x20,0x18,0x20,0xfe,0xfe,0x00,0xfe,0x0c,0x08,0x10,0x20,0xfe,0xfe,0x00,0xfe,0x82,0x82,0x82,0x86,0xfe,0xfe,0x00,
|
||||
0x00,0xf8,0x88,0x88,0x88,0xfe,0xfe,0x00,0x7e,0x86,0x8a,0x82,0x82,0xfe,0xfe,0x00,0xf8,0x8a,0x8c,0x88,0x88,0xfe,0xfe,0x00,0x00,0x9e,0x96,0x92,0x92,0xf2,0xf2,0x00,0x80,0x80,0xfe,0xfe,0x80,0x80,0x00,0x00,0x00,0xfe,0x06,0x02,0x02,0xfe,0xfe,0x00,0xf0,0x08,0x04,0x06,0x0c,0xf8,0xf0,0x00,0xf8,0x06,0x0c,0x18,0x0c,0xfe,0xf8,0x00,0x82,0x44,0x28,0x38,0x6c,0xc6,0x82,0x00,0x80,0x40,0x30,0x1e,0x3e,0x40,0x80,0x00,0xc2,0xe2,0xb2,0x9e,0x8e,0x86,0x82,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x80,0x78,0x7e,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x78,0x80,0x80,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x28,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x80,0xe0,0xf0,0x07,0x07,0x28,0x10,0x00,0x00,0x00,0x00,0xe0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x04,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x80,0xe0,0xe0,0x07,0x27,0x18,0x00,0x00,0x00,0x00,0x00,0xf0,0xf8,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x04,0x02,0x03,0x07,0x27,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xe0,0x3f,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xf0,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x01,0x01,0x01,0x23,0x3f,0x07,0x00,0x00,0x00,0x00,0x80,0xc0,0xc0,0xe0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x13,0x1f,0x07,0x03,0x00,0x00,0x80,0x80,0x80,0xc0,0xe0,0xf0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xe0,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x10,0x09,0x0f,0x07,0x07,0x00,0x80,0x40,0x80,0x80,0xc0,0xc0,0xc0,0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x08,0x04,0x03,0x03,0x03,0x00,0x00,0x10,0x08,0x10,0x60,0xe0,0xe0,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0xe0,0xc0,0xc0,0x80,0x00,0x00,0x00,0x00,
|
||||
@ -64,12 +71,6 @@ const char __at (0x4000) tilerom[0x1000] = {
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x78,0x00,0x02,0x06,0x10,0x01,0x4a,0x00,0x10,0x00,0xa0,0x02,0x14,0x10,0x08,0x00,0x00,0x80,0x01,0x1c,0x40,0x86,0x01,0x81,0x60,0x00,0x04,0x90,0x70,0x08,0x02,0x00,0x40,0x00,0x00,0x40,0x00,0x20,0x00,0x10,0x7c,0x81,0x01,0x01,0x04,0x00,0x08,0x80,0x20,0x04,0x01,0x40,0x04,0x48,0x11,0xa0,0x00,0x02,0x00,0x08,0x84,0x02,0x01,0x00,0x18,0x86,0x80,0x0c,0x11,0x18,0xdb,0x05,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x02,0x00,0x00,0x00,0x00,0x62,0x90,0x01,0x05,0x00,0x01,0x81,0x7c,0x01,0x40,0x00,0xc0,0x00,0x01,0x80,0x80,0x40,0x44,0x80,0x01,0x02,0x64,0x00,0x00,0x48,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x04,0x03,0x00,0x00,0x18,0x00,0x12,0x10,0x0a,0xc2,0x00,0x01,0x00,0x00,0x01,0x00,0x02,0x00,0x21,0x02,0x19,0x8e,0xa2,0x6c,0xe4,0x70,0x00,0x00,0x00,0x00,0x00,0x60,0xe3,0x02,0x60,0x00,0x14,0x20,0x08,0x80,0x00,0x00,0x0e,0x5a,0x5b,0x8a,0x45,0x35,0x04,0x02,0xe0,0x00,0x10,0x90,0x40,0x20,0x00,0x80,0x12,0x15,0x04,0x00,0x00,0x00,0x02,0x02,0xc0,0x60,0x20,0x60,0x20,0x18,0x3c,0x00,0x01,0x0e,0x0a,0x10,0x18,0x10,0x00,0x30,0x05,0x20,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x09,0x08,0x08,0x40,0x40,0x0c,0x10,0x20,0x20,0xd0,0x00,0x08,0x70,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x24,0x12,0x0a,0x00,0x10,
|
||||
0x00,0x00,0x60,0x30,0x18,0x08,0x00,0x00,0x10,0x40,0x20,0x40,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x20,0x20,0x00,0x00,0x00,0x40,0x10,0x08,0x0d,0x10,0x00,0x00,0x00,0x00,0x06,0x10,0x00,0x00,0x00,0x05,0x08,0x02,0x44,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x10,0x88,0x04,0x00,0x00,0x00,0x00,0x00,0x06,0x04,0x00,0x00,0x00,0x08,0x08,0x04,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x08,0x12,0x24,0x08,0x50,0x00,0x40,0x00,0x00,0x70,0x04,0x00,0x01,0x0e,0x80,0xa8,0x00,0x80,0x20,0x40,0x60,0x00,0x80,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x02,0x00,0x00,0x88,0x00,0x40,0x00,0x39,0x04,0x02,0x00,0x00,0x00,0x00,0x00,0x40,0x60,0x38,0x01,0x08,0x04,0x02,0x00,0x30,0x30,0x18,0x04,0x00,0x01,0x00,0x0a,0x0c,0x04,0x02,0x02,0x04,0x70,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xe0,0xe5,0x03,0x00,0x00,0x00,0x00,0x0c,0x18,0x40,0x80,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3a,0x00,0x08,0x98,0x70,0x00,0x20,0x0e,0x0e,0x01,0x00,0x00,0x02,0x80,0x90,0x23,0x31,0xbd,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x02,0x80,0x87,0x08,0x10,0x20,0x00,0x00,0x00,0x04,0x01,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x80,0x00,0x00,0x00,0x40,0x00,0x40,0x10,0x64,0x84,0x00,0x00,0x00,0x00,0x00,0x10,0xc8,0xc1,0xc0,0x38,0x20,0x80,0x50,0x10,0x08,0x00,0x00,0x80,
|
||||
};
|
||||
const char __at (0x5000) palette[32] = {
|
||||
0x00,0x00,0x00,0xff,0x00,0xf0,0xc0,0x7f,
|
||||
0x00,0xc0,0x04,0x1f,0x00,0xd0,0xd0,0x0f,
|
||||
0x00,0xc0,0xc0,0x0f,0x00,0x04,0x04,0x0f,
|
||||
0x00,0xff,0x0f,0xf0,0x00,0x7f,0x0f,0xdf,
|
||||
};
|
||||
|
||||
#define LOCHAR 0x30
|
||||
#define HICHAR 0xff
|
||||
|
@ -90,7 +90,14 @@ __endasm;
|
||||
main();
|
||||
}
|
||||
|
||||
const char __at (0x4000) tilerom[0x1000] = {
|
||||
const char __at (0x5000) palette[32] = {/*{pal:332,n:4}*/
|
||||
0x00,0x80,0xf0,0xff,0x00,0xf0,0xc0,0x7f,
|
||||
0x00,0xc0,0x04,0x1f,0x00,0xd0,0xd0,0x0f,
|
||||
0x00,0xc0,0xc0,0x0f,0x00,0x04,0x04,0x0f,
|
||||
0x00,0xff,0x0f,0xf0,0x00,0x7f,0x0f,0xdf,
|
||||
};
|
||||
|
||||
const char __at (0x4000) tilerom[0x1000] = {/*{w:8,h:8,bpp:1,np:2,pofs:2048,count:256}*/
|
||||
0x00,0xfe,0x82,0x82,0x82,0xfe,0xfe,0x00,0x00,0x00,0xfe,0xfe,0xc0,0x00,0x00,0x00,0x00,0xf2,0xf2,0x92,0x92,0x9e,0x9e,0x00,0x00,0xfe,0xfe,0x92,0x92,0x82,0x00,0x00,0x08,0xfe,0xfe,0x88,0x88,0xf8,0xf8,0x00,0x00,0x9e,0x9e,0x92,0x92,0xf2,0xf2,0x00,0x00,0x9e,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0xf0,0xf0,0x9e,0x9e,0x80,0x80,0x00,0x00,0xfe,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0xfe,0x92,0x92,0x92,0xf2,0xf0,0x00,0x00,0xfe,0xc8,0x88,0x88,0xfe,0xfe,0x00,0x00,0xee,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0x82,0x82,0x82,0x86,0xfe,0xfe,0x00,0x00,0xfc,0x86,0x82,0x82,0xfe,0xfe,0x00,0x00,0x82,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0x80,0x90,0x90,0x90,0xfe,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xc8,0x88,0x88,0xfe,0xfe,0x00,0x00,0xee,0x92,0x92,0x92,0xfe,0xfe,0x00,0x00,0x82,0x82,0x82,0x86,0xfe,0xfe,0x00,0x00,0xfc,0x86,0x82,0x82,0xfe,0xfe,0x00,0x00,0x82,0x92,0x92,0x92,0xfe,0xfe,0x00,0x80,0x90,0x90,0x90,0x90,0xfe,0xfe,0x00,0x00,0x9e,0x92,0x82,0x82,0xfe,0xfe,0x00,0xfe,0xfe,0x10,0x10,0x10,0xfe,0xfe,0x00,0x00,0x00,0xbe,0xbe,0x00,0x00,0x00,0x00,0xfc,0xfe,0x06,0x02,0x02,0x02,0x00,0x00,0x00,0x82,0x44,0x28,0x18,0xfe,0xfe,0x00,0x02,0x02,0x02,0x06,0xfe,0xfe,0x00,0x00,0xfe,0x40,0x20,0x18,0x20,0xfe,0xfe,0x00,0xfe,0x0c,0x08,0x10,0x20,0xfe,0xfe,0x00,0xfe,0x82,0x82,0x82,0x86,0xfe,0xfe,0x00,
|
||||
0x00,0xf8,0x88,0x88,0x88,0xfe,0xfe,0x00,0x7e,0x86,0x8a,0x82,0x82,0xfe,0xfe,0x00,0xf8,0x8a,0x8c,0x88,0x88,0xfe,0xfe,0x00,0x00,0x9e,0x96,0x92,0x92,0xf2,0xf2,0x00,0x80,0x80,0xfe,0xfe,0x80,0x80,0x00,0x00,0x00,0xfe,0x06,0x02,0x02,0xfe,0xfe,0x00,0xf0,0x08,0x04,0x06,0x0c,0xf8,0xf0,0x00,0xf8,0x06,0x0c,0x18,0x0c,0xfe,0xf8,0x00,0x82,0x44,0x28,0x38,0x6c,0xc6,0x82,0x00,0x80,0x40,0x30,0x1e,0x3e,0x40,0x80,0x00,0xc2,0xe2,0xb2,0x9e,0x8e,0x86,0x82,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x80,0x78,0x7e,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x78,0x80,0x80,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x28,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x80,0xe0,0xf0,0x07,0x07,0x28,0x10,0x00,0x00,0x00,0x00,0xe0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x04,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x80,0xe0,0xe0,0x07,0x27,0x18,0x00,0x00,0x00,0x00,0x00,0xf0,0xf8,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x04,0x02,0x03,0x07,0x27,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xe0,0x3f,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xf0,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x01,0x01,0x01,0x23,0x3f,0x07,0x00,0x00,0x00,0x00,0x80,0xc0,0xc0,0xe0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x13,0x1f,0x07,0x03,0x00,0x00,0x80,0x80,0x80,0xc0,0xe0,0xf0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xe0,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x10,0x09,0x0f,0x07,0x07,0x00,0x80,0x40,0x80,0x80,0xc0,0xc0,0xc0,0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x08,0x04,0x03,0x03,0x03,0x00,0x00,0x10,0x08,0x10,0x60,0xe0,0xe0,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0xe0,0xc0,0xc0,0x80,0x00,0x00,0x00,0x00,
|
||||
@ -109,12 +116,6 @@ const char __at (0x4000) tilerom[0x1000] = {
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x78,0x00,0x02,0x06,0x10,0x01,0x4a,0x00,0x10,0x00,0xa0,0x02,0x14,0x10,0x08,0x00,0x00,0x80,0x01,0x1c,0x40,0x86,0x01,0x81,0x60,0x00,0x04,0x90,0x70,0x08,0x02,0x00,0x40,0x00,0x00,0x40,0x00,0x20,0x00,0x10,0x7c,0x81,0x01,0x01,0x04,0x00,0x08,0x80,0x20,0x04,0x01,0x40,0x04,0x48,0x11,0xa0,0x00,0x02,0x00,0x08,0x84,0x02,0x01,0x00,0x18,0x86,0x80,0x0c,0x11,0x18,0xdb,0x05,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x02,0x00,0x00,0x00,0x00,0x62,0x90,0x01,0x05,0x00,0x01,0x81,0x7c,0x01,0x40,0x00,0xc0,0x00,0x01,0x80,0x80,0x40,0x44,0x80,0x01,0x02,0x64,0x00,0x00,0x48,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x04,0x03,0x00,0x00,0x18,0x00,0x12,0x10,0x0a,0xc2,0x00,0x01,0x00,0x00,0x01,0x00,0x02,0x00,0x21,0x02,0x19,0x8e,0xa2,0x6c,0xe4,0x70,0x00,0x00,0x00,0x00,0x00,0x60,0xe3,0x02,0x60,0x00,0x14,0x20,0x08,0x80,0x00,0x00,0x0e,0x5a,0x5b,0x8a,0x45,0x35,0x04,0x02,0xe0,0x00,0x10,0x90,0x40,0x20,0x00,0x80,0x12,0x15,0x04,0x00,0x00,0x00,0x02,0x02,0xc0,0x60,0x20,0x60,0x20,0x18,0x3c,0x00,0x01,0x0e,0x0a,0x10,0x18,0x10,0x00,0x30,0x05,0x20,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x09,0x08,0x08,0x40,0x40,0x0c,0x10,0x20,0x20,0xd0,0x00,0x08,0x70,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x24,0x12,0x0a,0x00,0x10,
|
||||
0x00,0x00,0x60,0x30,0x18,0x08,0x00,0x00,0x10,0x40,0x20,0x40,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x20,0x20,0x00,0x00,0x00,0x40,0x10,0x08,0x0d,0x10,0x00,0x00,0x00,0x00,0x06,0x10,0x00,0x00,0x00,0x05,0x08,0x02,0x44,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x10,0x88,0x04,0x00,0x00,0x00,0x00,0x00,0x06,0x04,0x00,0x00,0x00,0x08,0x08,0x04,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x08,0x12,0x24,0x08,0x50,0x00,0x40,0x00,0x00,0x70,0x04,0x00,0x01,0x0e,0x80,0xa8,0x00,0x80,0x20,0x40,0x60,0x00,0x80,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x02,0x00,0x00,0x88,0x00,0x40,0x00,0x39,0x04,0x02,0x00,0x00,0x00,0x00,0x00,0x40,0x60,0x38,0x01,0x08,0x04,0x02,0x00,0x30,0x30,0x18,0x04,0x00,0x01,0x00,0x0a,0x0c,0x04,0x02,0x02,0x04,0x70,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xe0,0xe5,0x03,0x00,0x00,0x00,0x00,0x0c,0x18,0x40,0x80,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3a,0x00,0x08,0x98,0x70,0x00,0x20,0x0e,0x0e,0x01,0x00,0x00,0x02,0x80,0x90,0x23,0x31,0xbd,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x02,0x80,0x87,0x08,0x10,0x20,0x00,0x00,0x00,0x04,0x01,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x80,0x00,0x00,0x00,0x40,0x00,0x40,0x10,0x64,0x84,0x00,0x00,0x00,0x00,0x00,0x10,0xc8,0xc1,0xc0,0x38,0x20,0x80,0x50,0x10,0x08,0x00,0x00,0x80,
|
||||
};
|
||||
const char __at (0x5000) palette[32] = {
|
||||
0x00,0x00,0x00,0xf6,0x00,0x16,0xc0,0x3f,
|
||||
0x00,0xd8,0x07,0x3f,0x00,0xc0,0xc4,0x07,
|
||||
0x00,0xc0,0xa0,0x07,0x00,0x00,0x00,0x07,
|
||||
0x00,0xf6,0x07,0xf0,0x00,0x76,0x07,0xc6,
|
||||
};
|
||||
|
||||
#define LOCHAR 0x30
|
||||
#define HICHAR 0xff
|
||||
|
@ -92,7 +92,7 @@ void draw_vline(byte x, byte y1, byte y2) {
|
||||
#define LOCHAR 0x20
|
||||
#define HICHAR 0x5e
|
||||
|
||||
const byte font8x8[HICHAR-LOCHAR+1][8] = {
|
||||
const byte font8x8[HICHAR-LOCHAR+1][8] = {/*{w:8,h:8,bpp:1,count:64,xform:"rotate(-90deg)"}*/
|
||||
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, { 0x00,0x00,0x00,0x79,0x79,0x00,0x00,0x00 }, { 0x00,0x70,0x70,0x00,0x00,0x70,0x70,0x00 }, { 0x14,0x7f,0x7f,0x14,0x14,0x7f,0x7f,0x14 }, { 0x00,0x12,0x3a,0x6b,0x6b,0x2e,0x24,0x00 }, { 0x00,0x63,0x66,0x0c,0x18,0x33,0x63,0x00 }, { 0x00,0x26,0x7f,0x59,0x59,0x77,0x27,0x05 }, { 0x00,0x00,0x00,0x10,0x30,0x60,0x40,0x00 }, { 0x00,0x00,0x1c,0x3e,0x63,0x41,0x00,0x00 }, { 0x00,0x00,0x41,0x63,0x3e,0x1c,0x00,0x00 }, { 0x08,0x2a,0x3e,0x1c,0x1c,0x3e,0x2a,0x08 }, { 0x00,0x08,0x08,0x3e,0x3e,0x08,0x08,0x00 }, { 0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00 }, { 0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00 }, { 0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00 }, { 0x00,0x01,0x03,0x06,0x0c,0x18,0x30,0x20 }, { 0x00,0x3e,0x7f,0x49,0x51,0x7f,0x3e,0x00 }, { 0x00,0x01,0x11,0x7f,0x7f,0x01,0x01,0x00 }, { 0x00,0x23,0x67,0x45,0x49,0x79,0x31,0x00 }, { 0x00,0x22,0x63,0x49,0x49,0x7f,0x36,0x00 }, { 0x00,0x0c,0x0c,0x14,0x34,0x7f,0x7f,0x04 }, { 0x00,0x72,0x73,0x51,0x51,0x5f,0x4e,0x00 }, { 0x00,0x3e,0x7f,0x49,0x49,0x6f,0x26,0x00 }, { 0x00,0x60,0x60,0x4f,0x5f,0x70,0x60,0x00 }, { 0x00,0x36,0x7f,0x49,0x49,0x7f,0x36,0x00 }, { 0x00,0x32,0x7b,0x49,0x49,0x7f,0x3e,0x00 }, { 0x00,0x00,0x00,0x12,0x12,0x00,0x00,0x00 }, { 0x00,0x00,0x00,0x13,0x13,0x00,0x00,0x00 }, { 0x00,0x08,0x1c,0x36,0x63,0x41,0x41,0x00 }, { 0x00,0x14,0x14,0x14,0x14,0x14,0x14,0x00 }, { 0x00,0x41,0x41,0x63,0x36,0x1c,0x08,0x00 }, { 0x00,0x20,0x60,0x45,0x4d,0x78,0x30,0x00 }, { 0x00,0x3e,0x7f,0x41,0x59,0x79,0x3a,0x00 }, { 0x00,0x1f,0x3f,0x68,0x68,0x3f,0x1f,0x00 }, { 0x00,0x7f,0x7f,0x49,0x49,0x7f,0x36,0x00 }, { 0x00,0x3e,0x7f,0x41,0x41,0x63,0x22,0x00 }, { 0x00,0x7f,0x7f,0x41,0x63,0x3e,0x1c,0x00 }, { 0x00,0x7f,0x7f,0x49,0x49,0x41,0x41,0x00 }, { 0x00,0x7f,0x7f,0x48,0x48,0x40,0x40,0x00 }, { 0x00,0x3e,0x7f,0x41,0x49,0x6f,0x2e,0x00 }, { 0x00,0x7f,0x7f,0x08,0x08,0x7f,0x7f,0x00 }, { 0x00,0x00,0x41,0x7f,0x7f,0x41,0x00,0x00 }, { 0x00,0x02,0x03,0x41,0x7f,0x7e,0x40,0x00 }, { 0x00,0x7f,0x7f,0x1c,0x36,0x63,0x41,0x00 }, { 0x00,0x7f,0x7f,0x01,0x01,0x01,0x01,0x00 }, { 0x00,0x7f,0x7f,0x30,0x18,0x30,0x7f,0x7f }, { 0x00,0x7f,0x7f,0x38,0x1c,0x7f,0x7f,0x00 }, { 0x00,0x3e,0x7f,0x41,0x41,0x7f,0x3e,0x00 }, { 0x00,0x7f,0x7f,0x48,0x48,0x78,0x30,0x00 }, { 0x00,0x3c,0x7e,0x42,0x43,0x7f,0x3d,0x00 }, { 0x00,0x7f,0x7f,0x4c,0x4e,0x7b,0x31,0x00 }, { 0x00,0x32,0x7b,0x49,0x49,0x6f,0x26,0x00 }, { 0x00,0x40,0x40,0x7f,0x7f,0x40,0x40,0x00 }, { 0x00,0x7e,0x7f,0x01,0x01,0x7f,0x7e,0x00 }, { 0x00,0x7c,0x7e,0x03,0x03,0x7e,0x7c,0x00 }, { 0x00,0x7f,0x7f,0x06,0x0c,0x06,0x7f,0x7f }, { 0x00,0x63,0x77,0x1c,0x1c,0x77,0x63,0x00 }, { 0x00,0x70,0x78,0x0f,0x0f,0x78,0x70,0x00 }, { 0x00,0x43,0x47,0x4d,0x59,0x71,0x61,0x00 }, { 0x00,0x00,0x7f,0x7f,0x41,0x41,0x00,0x00 }, { 0x00,0x20,0x30,0x18,0x0c,0x06,0x03,0x01 }, { 0x00,0x00,0x41,0x41,0x7f,0x7f,0x00,0x00 }, { 0x00,0x08,0x18,0x3f,0x3f,0x18,0x08,0x00 }
|
||||
};
|
||||
|
||||
@ -207,19 +207,19 @@ __endasm;
|
||||
//
|
||||
|
||||
const byte player_bitmap[] =
|
||||
{2,27,0,0,0,0,0x0f,0x00,0x3e,0x00,0xf4,0x07,0xec,0x00,0x76,0x00,0x2b,0x00,0x33,0x00,0x75,0x00,0xf5,0x00,0xeb,0x31,0xbf,0xef,0x3f,0xcf,0xbf,0xef,0xeb,0x31,0xf5,0x00,0x75,0x00,0x33,0x00,0x2b,0x00,0x76,0x00,0xec,0x00,0xf4,0x07,0x3e,0x00,0x0f,0x00,0x00,0x00,0,0};
|
||||
{2,27,/*{w:16,h:27,bpp:1,xform:"rotate(-90deg)"}*/0x0,0x0,0x0,0x0,0x0f,0x00,0x3e,0x00,0xf4,0x07,0xec,0x00,0x76,0x00,0x2b,0x00,0x33,0x00,0x75,0x00,0xf5,0x00,0xeb,0x31,0xbf,0xef,0x3f,0xcf,0xbf,0xef,0xeb,0x31,0xf5,0x00,0x75,0x00,0x33,0x00,0x2b,0x00,0x76,0x00,0xec,0x00,0xf4,0x07,0x3e,0x00,0x0f,0x00,0x00,0x00,0x0,0x0};
|
||||
const byte bomb_bitmap[] =
|
||||
{1,5,0x88,0x55,0x77,0x55,0x88};
|
||||
{1,5,/*{w:8,h:5,bpp:1,xform:"rotate(-90deg)"}*/0x88,0x55,0x77,0x55,0x88};
|
||||
const byte bullet_bitmap[] =
|
||||
{2,2,0x88,0x88,0x44,0x44};
|
||||
{2,2,/*{w:16,h:2,bpp:1,xform:"rotate(-90deg)"}*/0x88,0x88,0x44,0x44};
|
||||
const byte enemy1_bitmap[] =
|
||||
{2,17,0x00,0x00,0x00,0x0c,0x04,0x1e,0x46,0x3f,0xb8,0x7f,0xb0,0x7f,0xba,0x7f,0xfd,0x3f,0xfc,0x07,0xfc,0x07,0xfd,0x3f,0xba,0x7f,0xb0,0x7f,0xb8,0x7f,0x46,0x3f,0x04,0x1e,0x00,0x0c};
|
||||
{2,17,/*{w:16,h:17,bpp:1,xform:"rotate(-90deg)"}*/0x00,0x00,0x00,0x0c,0x04,0x1e,0x46,0x3f,0xb8,0x7f,0xb0,0x7f,0xba,0x7f,0xfd,0x3f,0xfc,0x07,0xfc,0x07,0xfd,0x3f,0xba,0x7f,0xb0,0x7f,0xb8,0x7f,0x46,0x3f,0x04,0x1e,0x00,0x0c};
|
||||
const byte enemy2_bitmap[] =
|
||||
{2,16,0x26,0x00,0x59,0x10,0x10,0x30,0x33,0x18,0xe6,0x61,0xc4,0x56,0x03,0x03,0xdc,0x03,0xdc,0x03,0x03,0x03,0xc4,0x56,0xe6,0x61,0x33,0x18,0x10,0x30,0x59,0x10,0x26,0x00};
|
||||
{2,16,/*{w:16,h:16,bpp:1,xform:"rotate(-90deg)"}*/0x26,0x00,0x59,0x10,0x10,0x30,0x33,0x18,0xe6,0x61,0xc4,0x56,0x03,0x03,0xdc,0x03,0xdc,0x03,0x03,0x03,0xc4,0x56,0xe6,0x61,0x33,0x18,0x10,0x30,0x59,0x10,0x26,0x00};
|
||||
const byte enemy3_bitmap[] =
|
||||
{2,16,0x80,0x1f,0xc0,0x03,0xf8,0x3f,0x70,0x00,0xf0,0x01,0xfc,0x07,0xe8,0x01,0xf8,0x03,0xf8,0x03,0xe8,0x01,0xf8,0x07,0xf0,0x01,0x70,0x00,0xf8,0x3f,0xc0,0x03,0x80,0x1f};
|
||||
{2,16,/*{w:16,h:16,bpp:1,xform:"rotate(-90deg)"}*/0x80,0x1f,0xc0,0x03,0xf8,0x3f,0x70,0x00,0xf0,0x01,0xfc,0x07,0xe8,0x01,0xf8,0x03,0xf8,0x03,0xe8,0x01,0xf8,0x07,0xf0,0x01,0x70,0x00,0xf8,0x3f,0xc0,0x03,0x80,0x1f};
|
||||
const byte enemy4_bitmap[] =
|
||||
{2,16,0x06,0x00,0x0c,0x00,0x28,0x00,0x70,0x1f,0x84,0x3f,0xde,0x37,0xbb,0x3f,0xf0,0x3f,0xf0,0x3f,0xbb,0x3f,0xde,0x37,0x84,0x3f,0x70,0x1f,0x28,0x00,0x0c,0x00,0x06,0x00};
|
||||
{2,16,/*{w:16,h:16,bpp:1,xform:"rotate(-90deg)"}*/0x06,0x00,0x0c,0x00,0x28,0x00,0x70,0x1f,0x84,0x3f,0xde,0x37,0xbb,0x3f,0xf0,0x3f,0xf0,0x3f,0xbb,0x3f,0xde,0x37,0x84,0x3f,0x70,0x1f,0x28,0x00,0x0c,0x00,0x06,0x00};
|
||||
|
||||
const byte* const enemy_bitmaps[4] = {
|
||||
enemy1_bitmap,
|
||||
|
@ -50,7 +50,7 @@ void draw_vline(byte x, byte y1, byte y2) {
|
||||
#define LOCHAR 0x20
|
||||
#define HICHAR 0x5e
|
||||
|
||||
const byte font8x8[HICHAR-LOCHAR+1][8] = {
|
||||
const byte font8x8[HICHAR-LOCHAR+1][8] = {/*{w:8,h:8,bpp:1,count:64,xform:"rotate(-90deg)"}*/
|
||||
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, { 0x00,0x00,0x00,0x79,0x79,0x00,0x00,0x00 }, { 0x00,0x70,0x70,0x00,0x00,0x70,0x70,0x00 }, { 0x14,0x7f,0x7f,0x14,0x14,0x7f,0x7f,0x14 }, { 0x00,0x12,0x3a,0x6b,0x6b,0x2e,0x24,0x00 }, { 0x00,0x63,0x66,0x0c,0x18,0x33,0x63,0x00 }, { 0x00,0x26,0x7f,0x59,0x59,0x77,0x27,0x05 }, { 0x00,0x00,0x00,0x10,0x30,0x60,0x40,0x00 }, { 0x00,0x00,0x1c,0x3e,0x63,0x41,0x00,0x00 }, { 0x00,0x00,0x41,0x63,0x3e,0x1c,0x00,0x00 }, { 0x08,0x2a,0x3e,0x1c,0x1c,0x3e,0x2a,0x08 }, { 0x00,0x08,0x08,0x3e,0x3e,0x08,0x08,0x00 }, { 0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00 }, { 0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00 }, { 0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00 }, { 0x00,0x01,0x03,0x06,0x0c,0x18,0x30,0x20 }, { 0x00,0x3e,0x7f,0x49,0x51,0x7f,0x3e,0x00 }, { 0x00,0x01,0x11,0x7f,0x7f,0x01,0x01,0x00 }, { 0x00,0x23,0x67,0x45,0x49,0x79,0x31,0x00 }, { 0x00,0x22,0x63,0x49,0x49,0x7f,0x36,0x00 }, { 0x00,0x0c,0x0c,0x14,0x34,0x7f,0x7f,0x04 }, { 0x00,0x72,0x73,0x51,0x51,0x5f,0x4e,0x00 }, { 0x00,0x3e,0x7f,0x49,0x49,0x6f,0x26,0x00 }, { 0x00,0x60,0x60,0x4f,0x5f,0x70,0x60,0x00 }, { 0x00,0x36,0x7f,0x49,0x49,0x7f,0x36,0x00 }, { 0x00,0x32,0x7b,0x49,0x49,0x7f,0x3e,0x00 }, { 0x00,0x00,0x00,0x12,0x12,0x00,0x00,0x00 }, { 0x00,0x00,0x00,0x13,0x13,0x00,0x00,0x00 }, { 0x00,0x08,0x1c,0x36,0x63,0x41,0x41,0x00 }, { 0x00,0x14,0x14,0x14,0x14,0x14,0x14,0x00 }, { 0x00,0x41,0x41,0x63,0x36,0x1c,0x08,0x00 }, { 0x00,0x20,0x60,0x45,0x4d,0x78,0x30,0x00 }, { 0x00,0x3e,0x7f,0x41,0x59,0x79,0x3a,0x00 }, { 0x00,0x1f,0x3f,0x68,0x68,0x3f,0x1f,0x00 }, { 0x00,0x7f,0x7f,0x49,0x49,0x7f,0x36,0x00 }, { 0x00,0x3e,0x7f,0x41,0x41,0x63,0x22,0x00 }, { 0x00,0x7f,0x7f,0x41,0x63,0x3e,0x1c,0x00 }, { 0x00,0x7f,0x7f,0x49,0x49,0x41,0x41,0x00 }, { 0x00,0x7f,0x7f,0x48,0x48,0x40,0x40,0x00 }, { 0x00,0x3e,0x7f,0x41,0x49,0x6f,0x2e,0x00 }, { 0x00,0x7f,0x7f,0x08,0x08,0x7f,0x7f,0x00 }, { 0x00,0x00,0x41,0x7f,0x7f,0x41,0x00,0x00 }, { 0x00,0x02,0x03,0x41,0x7f,0x7e,0x40,0x00 }, { 0x00,0x7f,0x7f,0x1c,0x36,0x63,0x41,0x00 }, { 0x00,0x7f,0x7f,0x01,0x01,0x01,0x01,0x00 }, { 0x00,0x7f,0x7f,0x30,0x18,0x30,0x7f,0x7f }, { 0x00,0x7f,0x7f,0x38,0x1c,0x7f,0x7f,0x00 }, { 0x00,0x3e,0x7f,0x41,0x41,0x7f,0x3e,0x00 }, { 0x00,0x7f,0x7f,0x48,0x48,0x78,0x30,0x00 }, { 0x00,0x3c,0x7e,0x42,0x43,0x7f,0x3d,0x00 }, { 0x00,0x7f,0x7f,0x4c,0x4e,0x7b,0x31,0x00 }, { 0x00,0x32,0x7b,0x49,0x49,0x6f,0x26,0x00 }, { 0x00,0x40,0x40,0x7f,0x7f,0x40,0x40,0x00 }, { 0x00,0x7e,0x7f,0x01,0x01,0x7f,0x7e,0x00 }, { 0x00,0x7c,0x7e,0x03,0x03,0x7e,0x7c,0x00 }, { 0x00,0x7f,0x7f,0x06,0x0c,0x06,0x7f,0x7f }, { 0x00,0x63,0x77,0x1c,0x1c,0x77,0x63,0x00 }, { 0x00,0x70,0x78,0x0f,0x0f,0x78,0x70,0x00 }, { 0x00,0x43,0x47,0x4d,0x59,0x71,0x61,0x00 }, { 0x00,0x00,0x7f,0x7f,0x41,0x41,0x00,0x00 }, { 0x00,0x20,0x30,0x18,0x0c,0x06,0x03,0x01 }, { 0x00,0x00,0x41,0x41,0x7f,0x7f,0x00,0x00 }, { 0x00,0x08,0x18,0x3f,0x3f,0x18,0x08,0x00 }
|
||||
};
|
||||
|
||||
|
@ -24,7 +24,8 @@ __endasm;
|
||||
}
|
||||
|
||||
const byte bitmap1[] =
|
||||
{9,56,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x01,0x00,0x00,0x00,0x00,0x80,0xfb,0xff,0xf0,0x01,0x00,0x00,0x00,0x00,0x40,0x04,0x80,0xf3,0x01,0x00,0x00,0x00,0x00,0xb8,0x00,0x00,0xfa,0x01,0x00,0x00,0x00,0x00,0x06,0xfe,0x03,0xfa,0x01,0x00,0x00,0x00,0x00,0x83,0xff,0x03,0xfd,0x01,0x80,0x00,0x00,0x00,0x81,0xcf,0x00,0xfc,0x00,0x80,0x01,0xc0,0x9f,0x01,0x00,0x00,0xfc,0x00,0x80,0x01,0x30,0xe0,0x00,0x00,0x00,0xf8,0x00,0xc0,0x01,0x0c,0x84,0x41,0x00,0x00,0xf8,0x01,0xc0,0x07,0x04,0xf8,0xc2,0x00,0x00,0xf8,0x03,0xc0,0x07,0x06,0x00,0x43,0x00,0x00,0xf2,0x03,0xc0,0x07,0x02,0x80,0x00,0xf8,0x0f,0xe4,0x03,0xe0,0xff,0x04,0xf8,0x00,0xfe,0x1f,0xe8,0x07,0xe0,0x03,0x07,0x80,0x00,0xbe,0x0f,0xec,0x07,0xe0,0x01,0x06,0x80,0x00,0x3c,0x00,0x92,0x07,0xe0,0x00,0x0a,0xff,0x00,0x00,0x00,0x00,0x07,0xe0,0x00,0x24,0x08,0x01,0x00,0x00,0x00,0x07,0x60,0x00,0xc6,0x88,0x01,0x00,0x00,0x00,0x07,0x60,0x00,0x02,0x7e,0x03,0x00,0x00,0x80,0x07,0x60,0x00,0xfe,0x27,0x02,0x00,0x00,0x80,0x07,0x60,0x00,0xc1,0x43,0x02,0x00,0x00,0xc0,0x07,0x70,0xc0,0xc0,0x43,0x04,0x00,0x00,0xc0,0x03,0x70,0x40,0xc1,0x67,0x08,0x00,0x00,0xe0,0x03,0x70,0x00,0xe1,0x7f,0x10,0x00,0x1c,0xf0,0x01,0xf0,0x00,0xfa,0xff,0xa0,0x01,0x7f,0xfe,0x00,0xf0,0x00,0xe2,0x1f,0xc1,0x60,0xfe,0x7f,0x00,0xe0,0x81,0x87,0x0f,0x82,0x81,0xfe,0x3f,0x00,0xe0,0x83,0xc8,0x0f,0x02,0xa5,0xfe,0x0f,0x00,0xe0,0x7f,0xf9,0xbf,0x13,0x9f,0xfd,0x00,0x00,0xe0,0x03,0x81,0xff,0x1f,0x61,0x00,0x00,0x06,0xe0,0x03,0x02,0xfe,0x8f,0x01,0x00,0x6c,0x04,0x80,0x01,0x02,0xfc,0x83,0x01,0x00,0xc0,0x04,0x80,0x01,0x03,0x0e,0x81,0x00,0x04,0x80,0x03,0x80,0x01,0xfe,0x01,0x62,0x50,0x08,0x00,0x00,0x80,0x01,0x48,0x00,0x1c,0x80,0x08,0x00,0x00,0x80,0x03,0x50,0x00,0x1c,0x00,0x07,0x00,0x00,0x80,0x03,0x50,0x00,0x34,0x00,0x00,0x00,0x00,0x80,0x03,0x50,0x00,0x24,0x00,0x00,0x00,0x00,0x80,0x07,0x90,0x00,0x3a,0x00,0x00,0x00,0x00,0x80,0x0f,0x98,0x00,0x10,0x00,0x00,0x00,0x00,0x80,0x3f,0x0c,0x07,0x10,0x00,0x00,0x00,0x00,0x00,0xc1,0x03,0x18,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
|
||||
{9,56,/*{w:72,h:56,bpp:1,xform:"rotate(-90deg)"}*/
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x80,0xFB,0xFF,0xF0,0x01,0x00,0x00,0x00,0x00,0x40,0x04,0x80,0xF3,0x01,0x00,0x00,0x00,0x00,0xB8,0x00,0x00,0xFA,0x01,0x00,0x00,0x00,0x00,0x06,0xFE,0x03,0xFA,0x01,0x00,0x00,0x00,0x00,0x83,0xFF,0x03,0xFD,0x01,0x80,0x00,0x00,0x00,0x81,0xCF,0x00,0xDC,0x00,0x80,0x01,0xC0,0x9F,0x01,0x00,0x00,0xDC,0x00,0x80,0x01,0x30,0xE0,0x00,0x00,0x00,0xD8,0x00,0xC0,0x01,0x0C,0x84,0x41,0x00,0x00,0x98,0x01,0xC0,0x07,0x04,0xF8,0xC2,0x00,0x00,0x38,0x03,0xC0,0x07,0x06,0x00,0x43,0x00,0x00,0x72,0x02,0xC0,0x07,0x02,0x80,0x00,0xF8,0x0F,0xE4,0x02,0xE0,0xFF,0x04,0xF8,0x00,0xFE,0x1F,0xE8,0x04,0xE0,0x03,0x07,0x80,0x00,0xBE,0x0F,0xEC,0x05,0xE0,0x01,0x06,0x80,0x00,0x3C,0x00,0x92,0x05,0xE0,0x00,0x0A,0xFF,0x00,0x00,0x00,0x00,0x07,0xE0,0x00,0x24,0x08,0x01,0x00,0x00,0x00,0x07,0x60,0x00,0xC6,0x88,0x01,0x00,0x00,0x00,0x07,0x60,0x00,0x02,0x7E,0x03,0x00,0x00,0x80,0x07,0x60,0x00,0xFE,0x27,0x02,0x00,0x00,0x80,0x07,0x60,0x00,0xC1,0x43,0x02,0x00,0x00,0xC0,0x07,0x70,0xC0,0xC0,0x43,0x04,0x00,0x00,0xC0,0x03,0x70,0x40,0xC1,0x67,0x08,0x00,0x00,0xE0,0x03,0x70,0x00,0xE1,0x7F,0x10,0x00,0x1C,0xF0,0x01,0xF0,0x00,0xFA,0xFF,0xA0,0x01,0x7F,0xFE,0x00,0xF0,0x00,0xE2,0x1F,0xC1,0x60,0xFE,0x7F,0x00,0xE0,0x81,0x87,0x0F,0x82,0x81,0xFE,0x3F,0x00,0xE0,0x83,0xC8,0x0F,0x02,0xA5,0xFE,0x0F,0x00,0xE0,0x7F,0xF9,0xBF,0x13,0x9F,0xFD,0x00,0x00,0xE0,0x03,0x81,0xFF,0x1F,0x61,0x00,0x00,0x06,0xE0,0x03,0x02,0xFE,0x8F,0x01,0x00,0x6C,0x04,0x80,0x01,0x02,0xFC,0x83,0x01,0x00,0xC0,0x04,0x80,0x01,0x03,0x0E,0x81,0x00,0x04,0x80,0x03,0x80,0x01,0xFE,0x01,0x62,0x50,0x08,0x00,0x00,0x80,0x01,0x48,0x00,0x1C,0x80,0x08,0x00,0x00,0x80,0x03,0x50,0x00,0x1C,0x00,0x07,0x00,0x00,0x80,0x03,0x50,0x00,0x34,0x00,0x00,0x00,0x00,0x80,0x03,0x50,0x00,0x24,0x00,0x00,0x00,0x00,0x80,0x07,0x90,0x00,0x3A,0x00,0x00,0x00,0x00,0x80,0x0F,0x98,0x00,0x10,0x00,0x00,0x00,0x00,0x80,0x3F,0x0C,0x07,0x10,0x00,0x00,0x00,0x00,0x00,0xC1,0x03,0x18,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
|
||||
;
|
||||
|
||||
void draw_shifted_sprite(const byte* src, byte x, byte y) {
|
||||
|
@ -35,7 +35,6 @@ byte __at (0x8980) watchdog;
|
||||
//
|
||||
|
||||
void main();
|
||||
void _sdcc_heap_init(void); // for malloc()
|
||||
|
||||
void start() {
|
||||
__asm
|
||||
@ -49,7 +48,6 @@ __asm
|
||||
LDIR
|
||||
__endasm;
|
||||
// init heap for malloc() and run main pgm.
|
||||
_sdcc_heap_init();
|
||||
main();
|
||||
}
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -304,7 +304,7 @@ void draw_box(word x1, byte y1, word x2, byte y2, byte color) {
|
||||
|
||||
// GRAPHIC DATA
|
||||
|
||||
const byte palette_data[16] = {
|
||||
const byte palette_data[16] = {/*{pal:332,n:16}*/
|
||||
0x00, 0x03, 0x19, 0x50, 0x52, 0x07, 0x1f, 0x37, 0xe0, 0xa4, 0xfd, 0xff, 0x38, 0x70, 0x7f, 0xf8, };
|
||||
|
||||
const byte laser_vert[2+1*8] = {
|
||||
@ -333,27 +333,27 @@ const byte laser_horiz[2+4*2] = {
|
||||
|
||||
|
||||
const byte playersprite1[] = {
|
||||
7,16,
|
||||
0x00,0x00,0xef,0xef,0xe0,0x00,0x00,
|
||||
0x00,0xee,0xee,0xfe,0xee,0xe0,0x00,
|
||||
0x0e,0xed,0xef,0xef,0xed,0xee,0x00,
|
||||
0x0e,0xee,0xdd,0xdd,0xde,0xee,0x00,
|
||||
0x0e,0xee,0xed,0xde,0xee,0xee,0x00,
|
||||
0x00,0xee,0xee,0xde,0xee,0xe0,0x00,
|
||||
0x00,0xee,0xee,0xde,0xee,0xe0,0x00,
|
||||
0x00,0x00,0xed,0xdd,0xe0,0x00,0x0d,
|
||||
0xdd,0xdd,0xee,0xee,0xed,0xdd,0xd0,
|
||||
0x0d,0xee,0xee,0xee,0xee,0xee,0x00,
|
||||
0x0e,0xe0,0xee,0xee,0xe0,0xee,0x00,
|
||||
0x0e,0xe0,0xee,0xee,0xe0,0xee,0x00,
|
||||
0x0e,0xe0,0xdd,0xdd,0xd0,0xde,0x00,
|
||||
0x0d,0x00,0xee,0x0e,0xe0,0x0d,0x00,
|
||||
0x00,0x00,0xed,0x0e,0xe0,0x00,0x00,
|
||||
0x00,0x0d,0xdd,0x0d,0xdd,0x00,0x18,
|
||||
7,16,/*{w:14,h:16,bpp:4,brev:1}*/
|
||||
0x00,0x00,0xEF,0xEF,0xE0,0x00,0x00,
|
||||
0x00,0xEE,0xEE,0xFE,0xEE,0xE0,0x00,
|
||||
0x0E,0xED,0xEF,0xEF,0xED,0xEE,0x00,
|
||||
0x0E,0xEE,0xDD,0xDD,0xDE,0xEE,0x00,
|
||||
0x0E,0xEE,0xEC,0xDC,0xEE,0xEE,0x00,
|
||||
0x00,0xEE,0xEE,0xDE,0xEE,0xE0,0x00,
|
||||
0x00,0xEE,0xEE,0xDE,0xEE,0xE0,0x00,
|
||||
0x00,0x00,0xED,0xDD,0xE0,0x00,0x00,
|
||||
0xDD,0xDD,0xEE,0xEE,0xED,0xDD,0xD0,
|
||||
0x0C,0xEE,0xEE,0xEE,0xEE,0xEC,0x00,
|
||||
0x0E,0xE0,0xEE,0xEE,0xE0,0xEE,0x00,
|
||||
0x0E,0xE0,0xEE,0xEE,0xE0,0xEE,0x00,
|
||||
0x0E,0xE0,0xDD,0xDD,0xD0,0xDE,0x00,
|
||||
0x0D,0x00,0xEE,0x0E,0xE0,0x0D,0x00,
|
||||
0x00,0x00,0xEC,0x0C,0xE0,0x00,0x00,
|
||||
0x00,0x0D,0xDD,0x0D,0xDD,0x00,0x00,
|
||||
};
|
||||
|
||||
const byte sprite1[2+16*16/2] = {
|
||||
8,16,
|
||||
8,16,/*{w:16,h:16,bpp:4,brev:1}*/
|
||||
0x00,0x09,0x99,0x00,0x00,0x99,0x90,0x00,
|
||||
0x00,0x94,0x94,0x90,0x09,0x49,0x49,0x00,
|
||||
0x04,0x49,0x49,0x90,0x09,0x94,0x94,0x90,
|
||||
@ -373,7 +373,7 @@ const byte sprite1[2+16*16/2] = {
|
||||
};
|
||||
|
||||
const byte sprite2[2+16*16/2] = {
|
||||
8,16,
|
||||
8,16,/*{w:16,h:16,bpp:4,brev:1}*/
|
||||
0x00,0x94,0x94,0x90,0x09,0x49,0x49,0x00,
|
||||
0x04,0x49,0x49,0x90,0x09,0x94,0x94,0x90,
|
||||
0x94,0x99,0x94,0x90,0x09,0x49,0x99,0x49,
|
||||
@ -392,7 +392,7 @@ const byte sprite2[2+16*16/2] = {
|
||||
};
|
||||
|
||||
const byte sprite3[2+16*16/2] = {
|
||||
8,16,
|
||||
8,16,/*{w:16,h:16,bpp:4,brev:1}*/
|
||||
0x00,0x00,0x00,0x01,0x10,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x11,0x11,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x01,0x10,0x00,0x00,0x00,
|
||||
@ -412,7 +412,7 @@ const byte sprite3[2+16*16/2] = {
|
||||
};
|
||||
|
||||
const byte sprite4[2+16*16/2] = {
|
||||
8,16,
|
||||
8,16,/*{w:16,h:16,bpp:4,brev:1}*/
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0xbb,0xbb,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0xbb,0xbb,0x00,0x00,0x00,
|
||||
@ -452,7 +452,7 @@ const byte sprite5[2+16*16/2] = {
|
||||
};
|
||||
|
||||
const byte sprite6[2+12*16/2] = {
|
||||
8,12,
|
||||
8,12,/*{w:16,h:12,bpp:4,brev:1}*/
|
||||
0x00,0x00,0x00,0x00,0x04,0x04,0x04,0x00,
|
||||
0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x40,
|
||||
0x00,0x00,0x04,0x04,0x49,0x49,0x99,0x44,
|
||||
@ -466,7 +466,7 @@ const byte sprite6[2+12*16/2] = {
|
||||
};
|
||||
|
||||
const byte sprite7[2+16*16/2] = {
|
||||
8,16,
|
||||
8,16,/*{w:16,h:16,bpp:4,brev:1}*/
|
||||
0x00,0x60,0x00,0x00,0x00,0x00,0x06,0x00,
|
||||
0x60,0x60,0x00,0x00,0x00,0x00,0x06,0x06,
|
||||
0x60,0x60,0x50,0x00,0x00,0x05,0x06,0x06,
|
||||
@ -484,7 +484,7 @@ const byte sprite7[2+16*16/2] = {
|
||||
};
|
||||
|
||||
const byte sprite8[2+16*16/2] = {
|
||||
8,16,
|
||||
8,16,/*{w:16,h:16,bpp:4,brev:1}*/
|
||||
0x00,0x00,0x11,0x11,0x11,0x11,0x00,0x00,
|
||||
0x00,0x01,0x61,0x11,0x21,0x12,0x10,0x00,
|
||||
0x00,0x11,0x12,0x11,0x61,0x11,0x11,0x00,
|
||||
@ -503,7 +503,7 @@ const byte sprite8[2+16*16/2] = {
|
||||
};
|
||||
|
||||
const byte sprite9[2+13*16/2] = {
|
||||
8,13,
|
||||
8,13,/*{w:16,h:13,bpp:4,brev:1}*/
|
||||
0x00,0x00,0xaa,0x00,0x00,0xaa,0x00,0x00,
|
||||
0x00,0x00,0xa0,0x0a,0xa0,0x0a,0x00,0x00,
|
||||
0x0a,0xaa,0xa4,0xaa,0xaa,0x3a,0xaa,0xa0,
|
||||
|
@ -63,7 +63,6 @@ struct {
|
||||
//
|
||||
|
||||
void main();
|
||||
void _sdcc_heap_init(void); // for malloc()
|
||||
|
||||
// start routine @ 0x0
|
||||
// set stack pointer, enable interrupts
|
||||
@ -79,7 +78,6 @@ __asm
|
||||
LDIR
|
||||
__endasm;
|
||||
|
||||
_sdcc_heap_init();
|
||||
main();
|
||||
}
|
||||
|
||||
|
@ -1,11 +1,17 @@
|
||||
"use strict";
|
||||
|
||||
function PixelEditor(parentDiv, width, height, palette, initialData) {
|
||||
var palette;
|
||||
|
||||
function createCanvas() {
|
||||
function PixelEditor(parentDiv, fmt, palette, initialData, thumbnails) {
|
||||
var self = this;
|
||||
var width = fmt.w;
|
||||
var height = fmt.h;
|
||||
|
||||
function createCanvas(parent) {
|
||||
var c = document.createElement('canvas');
|
||||
c.width = width;
|
||||
c.height = height;
|
||||
if (fmt.xform) c.style.transform = fmt.xform;
|
||||
c.classList.add("pixels");
|
||||
c.classList.add("pixelated");
|
||||
//canvas.tabIndex = "-1"; // Make it focusable
|
||||
@ -17,6 +23,20 @@ function PixelEditor(parentDiv, width, height, palette, initialData) {
|
||||
ctx.putImageData(pixdata, 0, 0);
|
||||
}
|
||||
|
||||
function updateThumbnails() {
|
||||
if (!thumbnails) return;
|
||||
for (var i=0; i<thumbnails.length; i++) {
|
||||
thumbnails[i].copyImageFrom(self);
|
||||
}
|
||||
}
|
||||
|
||||
this.copyImageFrom = function(src) {
|
||||
pixints.set(src.getImageData());
|
||||
updateImage();
|
||||
}
|
||||
|
||||
this.getImageData = function() { return pixints; }
|
||||
|
||||
function fitCanvas() {
|
||||
var w = $(parentDiv).width();
|
||||
var h = $(parentDiv).height();
|
||||
@ -25,7 +45,6 @@ function PixelEditor(parentDiv, width, height, palette, initialData) {
|
||||
}
|
||||
this.resize = fitCanvas;
|
||||
|
||||
palette = new Uint32Array(palette);
|
||||
var pixcanvas = createCanvas();
|
||||
var ctx = pixcanvas.getContext('2d');
|
||||
var pixdata = ctx.createImageData(pixcanvas.width, pixcanvas.height);
|
||||
@ -35,8 +54,6 @@ function PixelEditor(parentDiv, width, height, palette, initialData) {
|
||||
}
|
||||
|
||||
updateImage();
|
||||
fitCanvas();
|
||||
createPaletteButtons();
|
||||
|
||||
function revrgb(x) {
|
||||
var y = 0;
|
||||
@ -46,25 +63,25 @@ function PixelEditor(parentDiv, width, height, palette, initialData) {
|
||||
return y;
|
||||
}
|
||||
|
||||
function createPaletteButtons() {
|
||||
this.createPaletteButtons = function() {
|
||||
var span = $("#palette_group").empty();
|
||||
for (var i=0; i<palette.length; i++) {
|
||||
var btn = $('<button class="palbtn">');
|
||||
var rgb = palette[i] & 0xffffff;
|
||||
var color = "#" + hex(revrgb(rgb), 6);
|
||||
btn.click(setCurrentColor.bind(this, i));
|
||||
btn.click(self.setCurrentColor.bind(this, i));
|
||||
btn.attr('id', 'palcol_' + i);
|
||||
btn.css('backgroundColor', color).text(i.toString(16));
|
||||
if ((rgb & 0x808080) != 0x808080) { btn.css('color', 'white'); }
|
||||
span.append(btn);
|
||||
}
|
||||
setCurrentColor(1);
|
||||
self.setCurrentColor(1);
|
||||
}
|
||||
|
||||
function getPixelByOffset(ofs) {
|
||||
var oldrgba = pixints[ofs];
|
||||
var oldrgba = pixints[ofs] & 0xffffff;
|
||||
for (var i=0; i<palette.length; i++) {
|
||||
if (oldrgba == palette[i]) return i;
|
||||
if (oldrgba == (palette[i] & 0xffffff)) return i;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -84,47 +101,6 @@ function PixelEditor(parentDiv, width, height, palette, initialData) {
|
||||
}
|
||||
}
|
||||
|
||||
function getPositionFromEvent(e) {
|
||||
var x = Math.floor(e.offsetX * width / pxls.width());
|
||||
var y = Math.floor(e.offsetY * height / pxls.height());
|
||||
return {x:x, y:y};
|
||||
}
|
||||
|
||||
function setCurrentColor(col) {
|
||||
if (curpalcol != col) {
|
||||
if (curpalcol >= 0)
|
||||
$("#palcol_" + curpalcol).removeClass('selected');
|
||||
curpalcol = col;
|
||||
$("#palcol_" + col).addClass('selected');
|
||||
}
|
||||
}
|
||||
this.setCurrentColor = setCurrentColor;
|
||||
|
||||
var curpalcol = -1;
|
||||
setCurrentColor(1);
|
||||
|
||||
var dragcol = 1;
|
||||
var dragging = false;
|
||||
|
||||
var pxls = $(pixcanvas);
|
||||
pxls.mousedown(function(e) {
|
||||
var pos = getPositionFromEvent(e);
|
||||
dragcol = getPixel(pos.x, pos.y) == curpalcol ? 0 : curpalcol;
|
||||
setPixel(pos.x, pos.y, curpalcol);
|
||||
dragging = true;
|
||||
})
|
||||
.mousemove(function(e) {
|
||||
var pos = getPositionFromEvent(e);
|
||||
if (dragging) {
|
||||
setPixel(pos.x, pos.y, dragcol);
|
||||
}
|
||||
})
|
||||
.mouseup(function(e) {
|
||||
var pos = getPositionFromEvent(e);
|
||||
setPixel(pos.x, pos.y, dragcol);
|
||||
dragging = false;
|
||||
});
|
||||
|
||||
this.getImageColors = function() {
|
||||
var pixcols = new Uint8Array(pixints.length);
|
||||
for (var i=0; i<pixints.length; i++)
|
||||
@ -132,8 +108,55 @@ function PixelEditor(parentDiv, width, height, palette, initialData) {
|
||||
return pixcols;
|
||||
}
|
||||
|
||||
///
|
||||
|
||||
this.makeEditable = function() {
|
||||
var curpalcol = -1;
|
||||
setCurrentColor(1);
|
||||
|
||||
function getPositionFromEvent(e) {
|
||||
var x = Math.floor(e.offsetX * width / pxls.width());
|
||||
var y = Math.floor(e.offsetY * height / pxls.height());
|
||||
return {x:x, y:y};
|
||||
}
|
||||
|
||||
function setCurrentColor(col) {
|
||||
if (curpalcol != col) {
|
||||
if (curpalcol >= 0)
|
||||
$("#palcol_" + curpalcol).removeClass('selected');
|
||||
curpalcol = col;
|
||||
$("#palcol_" + col).addClass('selected');
|
||||
}
|
||||
}
|
||||
self.setCurrentColor = setCurrentColor;
|
||||
|
||||
var dragcol = 1;
|
||||
var dragging = false;
|
||||
|
||||
var pxls = $(pixcanvas);
|
||||
pxls.mousedown(function(e) {
|
||||
var pos = getPositionFromEvent(e);
|
||||
dragcol = getPixel(pos.x, pos.y) == curpalcol ? 0 : curpalcol;
|
||||
setPixel(pos.x, pos.y, curpalcol);
|
||||
dragging = true;
|
||||
})
|
||||
.mousemove(function(e) {
|
||||
var pos = getPositionFromEvent(e);
|
||||
if (dragging) {
|
||||
setPixel(pos.x, pos.y, dragcol);
|
||||
}
|
||||
})
|
||||
.mouseup(function(e) {
|
||||
var pos = getPositionFromEvent(e);
|
||||
setPixel(pos.x, pos.y, dragcol);
|
||||
dragging = false;
|
||||
updateThumbnails();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/////////////////
|
||||
|
||||
function parseHexBytes(s) {
|
||||
var arr = [];
|
||||
var re = /0x([0-9a-f]+)/gi;
|
||||
@ -149,7 +172,7 @@ function parseHexBytes(s) {
|
||||
|
||||
function replaceHexBytes(s, bytes) {
|
||||
var result = "";
|
||||
var re = /0x([0-9a-f]+)/gi;
|
||||
var re = /0x[0-9a-f]+/gi; // TODO: decimal
|
||||
var m;
|
||||
var li = 0;
|
||||
var i = 0;
|
||||
@ -169,9 +192,10 @@ function convertBytesToImages(bytes, fmt) {
|
||||
var count = fmt.count ? fmt.count : 1;
|
||||
var width = fmt.w;
|
||||
var height = fmt.h;
|
||||
var bytesperline = fmt.sl ? fmt.sl : Math.ceil(fmt.w * fmt.bpp / 8);
|
||||
var bpp = fmt.bpp ? fmt.bpp : 1;
|
||||
var bytesperline = fmt.sl ? fmt.sl : Math.ceil(width * bpp / 8);
|
||||
//console.log(width,height,bytesperline);
|
||||
var mask = (1 << fmt.bpp)-1;
|
||||
var mask = (1 << bpp)-1;
|
||||
var images = [];
|
||||
var nplanes = fmt.np ? fmt.np : 1;
|
||||
for (var n=0; n<count; n++) {
|
||||
@ -183,10 +207,10 @@ function convertBytesToImages(bytes, fmt) {
|
||||
var color = 0;
|
||||
for (var p=0; p<nplanes; p++) {
|
||||
var byte = bytes[ofs + p*(fmt.pofs|0)];
|
||||
color |= ((fmt.brev ? byte>>(8-shift-fmt.bpp) : byte>>shift) & mask) << (p*fmt.bpp);
|
||||
color |= ((fmt.brev ? byte>>(8-shift-bpp) : byte>>shift) & mask) << (p*bpp);
|
||||
}
|
||||
imgdata.push(color);
|
||||
shift += fmt.bpp;
|
||||
shift += bpp;
|
||||
if (shift >= 8) {
|
||||
ofs += 1;
|
||||
shift = 0;
|
||||
@ -202,26 +226,24 @@ function convertImagesToBytes(images, fmt) {
|
||||
var count = fmt.count ? fmt.count : 1;
|
||||
var width = fmt.w;
|
||||
var height = fmt.h;
|
||||
var bpp = fmt.bpp ? fmt.bpp : 1;
|
||||
var bytesperline = fmt.sl ? fmt.sl : Math.ceil(fmt.w * fmt.bpp / 8);
|
||||
var mask = (1 << fmt.bpp)-1;
|
||||
var mask = (1 << bpp)-1;
|
||||
var nplanes = fmt.np ? fmt.np : 1;
|
||||
var i = 0;
|
||||
var bytes = new Uint8Array(bytesperline * height * nplanes * count);
|
||||
for (var n=0; n<count; n++) {
|
||||
var imgdata = images[n];
|
||||
var i = 0;
|
||||
for (var y=0; y<height; y++) {
|
||||
var ofs = n*bytesperline*height + y*bytesperline;
|
||||
var shift = 0;
|
||||
for (var x=0; x<width; x++) {
|
||||
var color = imgdata[i++];
|
||||
for (var p=0; p<nplanes; p++) {
|
||||
bytes[ofs + p*(fmt.pofs|0)] |= fmt.brev ? (color << (8-shift-fmt.bpp)) : (color << shift);
|
||||
/* TODO
|
||||
var byte = bytes[ofs + p*(fmt.pofs|0)];
|
||||
color |= ((fmt.brev ? byte>>(8-shift-fmt.bpp) : byte>>shift) & mask) << (p*fmt.bpp);
|
||||
*/
|
||||
var c = (color >> (p*bpp)) & mask;
|
||||
bytes[ofs + p*(fmt.pofs|0)] |= (fmt.brev ? (c << (8-shift-bpp)) : (c << shift));
|
||||
}
|
||||
shift += fmt.bpp;
|
||||
shift += bpp;
|
||||
if (shift >= 8) {
|
||||
ofs += 1;
|
||||
shift = 0;
|
||||
@ -253,6 +275,7 @@ var currentFormat;
|
||||
var currentByteStr;
|
||||
var currentPaletteStr;
|
||||
var currentPaletteFmt;
|
||||
var allthumbs;
|
||||
|
||||
function pixelEditorReceiveMessage(e) {
|
||||
console.log(e.data);
|
||||
@ -264,27 +287,62 @@ function pixelEditorReceiveMessage(e) {
|
||||
currentPaletteStr = e.data.palstr;
|
||||
var bytes = parseHexBytes(e.data.bytestr);
|
||||
allimages = convertBytesToImages(bytes, e.data.fmt);
|
||||
var palette = [0xff000000, 0xffffffff]; // TODO
|
||||
palette = [0xff000000, 0xffffffff]; // TODO
|
||||
if (currentPaletteStr) {
|
||||
var palbytes = parseHexBytes(e.data.palstr);
|
||||
var rr = Math.floor(Math.abs(currentPaletteFmt.pal/100) % 10);
|
||||
var gg = Math.floor(Math.abs(currentPaletteFmt.pal/10) % 10);
|
||||
var bb = Math.floor(Math.abs(currentPaletteFmt.pal) % 10);
|
||||
// TODO: n
|
||||
if (currentPaletteFmt.pal >= 0)
|
||||
palette = convertPaletteBytes(palbytes, 0, rr, rr, gg, rr+gg, bb);
|
||||
else
|
||||
palette = convertPaletteBytes(palbytes, rr+gg, bb, rr, gg, 0, rr);
|
||||
} else {
|
||||
// TODO: default palette?
|
||||
}
|
||||
currentPixelEditor = new PixelEditor(maineditor, e.data.fmt.w, e.data.fmt.h, palette, allimages[0]);
|
||||
palette = new Uint32Array(palette);
|
||||
// create thumbnail for all images
|
||||
$("#thumbnaildiv").empty();
|
||||
var parentdiv;
|
||||
var count = e.data.fmt.count || 1;
|
||||
allthumbs = [];
|
||||
for (var i=0; i<count; i++) {
|
||||
if ((i & 15) == 0) {
|
||||
parentdiv = $("#thumbnaildiv").append("<div>");
|
||||
}
|
||||
allthumbs.push(createThumbnailForImage(parentdiv, i));
|
||||
}
|
||||
// create initial editor
|
||||
createEditorForImage(0);
|
||||
}
|
||||
|
||||
function createThumbnailForImage(parentdiv, i) {
|
||||
var span = $('<span class="thumb">');
|
||||
var thumb = new PixelEditor(span, currentFormat, palette, allimages[i]);
|
||||
parentdiv.append(span);
|
||||
span.click(function() { createEditorForImage(i) });
|
||||
return thumb;
|
||||
}
|
||||
|
||||
function createEditorForImage(i) {
|
||||
currentPixelEditor = new PixelEditor(maineditor, currentFormat, palette, allimages[i], [allthumbs[i]]);
|
||||
currentPixelEditor.resize();
|
||||
currentPixelEditor.makeEditable();
|
||||
currentPixelEditor.createPaletteButtons();
|
||||
}
|
||||
|
||||
function postToParentWindow(data) {
|
||||
if (data.save) {
|
||||
allimages[0] = currentPixelEditor.getImageColors();
|
||||
data.bytes = convertImagesToBytes(allimages, currentFormat);
|
||||
var allimgs = [];
|
||||
for (var i=0; i<allthumbs.length; i++) {
|
||||
allimgs.push(allthumbs[i].getImageColors());
|
||||
}
|
||||
data.bytes = convertImagesToBytes(allimgs, currentFormat);
|
||||
data.bytestr = replaceHexBytes(currentByteStr, data.bytes);
|
||||
}
|
||||
parentSource.postMessage(data, "*");
|
||||
if (parentSource) parentSource.postMessage(data, "*");
|
||||
return data;
|
||||
}
|
||||
|
||||
function pixelEditorResize(e) {
|
||||
|
22
src/ui.js
22
src/ui.js
@ -1022,7 +1022,7 @@ function openBitmapEditorWithParams(fmt, bytestr, palfmt, palstr) {
|
||||
pixeditframe.contentWindow.postMessage({fmt:fmt, bytestr:bytestr, palfmt:palfmt, palstr:palstr}, '*');
|
||||
}
|
||||
|
||||
function lookBackwardsForJSONComment(line) {
|
||||
function lookBackwardsForJSONComment(line, req) {
|
||||
var re = /[/][*]([{].+[}])[*][/]/;
|
||||
while (--line >= 0) {
|
||||
var s = editor.getLine(line);
|
||||
@ -1030,13 +1030,17 @@ function lookBackwardsForJSONComment(line) {
|
||||
if (m) {
|
||||
var jsontxt = m[1].replace(/([A-Za-z]+):/g, '"$1":'); // fix lenient JSON
|
||||
var obj = JSON.parse(jsontxt);
|
||||
var start = {obj:obj, line:line, ch:s.indexOf(m[0])+m[0].length};
|
||||
line--;
|
||||
while (++line < editor.lineCount()) {
|
||||
if (editor.getLine(line).indexOf(';') >= 0) {
|
||||
var end = {line:line, ch:editor.getLine(line).length};
|
||||
return {obj:obj, start:start, end:end};
|
||||
if (obj[req]) {
|
||||
var start = {obj:obj, line:line, ch:s.indexOf(m[0])+m[0].length};
|
||||
var line0 = line;
|
||||
line--;
|
||||
while (++line < editor.lineCount()) {
|
||||
if (editor.getLine(line).indexOf(';') >= 0) {
|
||||
var end = {line:line, ch:editor.getLine(line).length};
|
||||
return {obj:obj, start:start, end:end};
|
||||
}
|
||||
}
|
||||
line = line0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1047,9 +1051,9 @@ function openBitmapEditorAtCursor() {
|
||||
$("#pixeditback").hide(250);
|
||||
return;
|
||||
}
|
||||
var data = lookBackwardsForJSONComment(getCurrentLine());
|
||||
var data = lookBackwardsForJSONComment(getCurrentLine(), 'bpp');
|
||||
if (data && data.obj && data.obj.w>0 && data.obj.h>0 && data.obj.bpp>0) {
|
||||
var paldata = lookBackwardsForJSONComment(data.start.line-1);
|
||||
var paldata = lookBackwardsForJSONComment(data.start.line-1, 'pal');
|
||||
var palbytestr;
|
||||
if (paldata) {
|
||||
palbytestr = editor.getRange(paldata.start, paldata.end);
|
||||
|
Loading…
x
Reference in New Issue
Block a user