dev/prometeuc-improvements #5

Merged
bquarkz merged 11 commits from dev/prometeuc-improvements into master 2026-01-21 10:55:48 +00:00
32 changed files with 838 additions and 808 deletions
Showing only changes of commit b3cc7ee384 - Show all commits

View File

@ -133,6 +133,8 @@ impl Gfx {
color: Color,
mode: BlendMode,
) {
if color == Color::COLOR_KEY { return; }
let fw = self.w as i32;
let fh = self.h as i32;
@ -160,6 +162,7 @@ impl Gfx {
/// Draws a single pixel.
pub fn draw_pixel(&mut self, x: i32, y: i32, color: Color) {
if color == Color::COLOR_KEY { return; }
if x >= 0 && x < self.w as i32 && y >= 0 && y < self.h as i32 {
self.back[y as usize * self.w + x as usize] = color.0;
}
@ -167,6 +170,8 @@ impl Gfx {
/// Draws a line between two points using Bresenham's algorithm.
pub fn draw_line(&mut self, x0: i32, y0: i32, x1: i32, y1: i32, color: Color) {
if color == Color::COLOR_KEY { return; }
let dx = (x1 - x0).abs();
let sx = if x0 < x1 { 1 } else { -1 };
let dy = -(y1 - y0).abs();
@ -193,6 +198,8 @@ impl Gfx {
/// Draws a circle outline using Midpoint Circle Algorithm.
pub fn draw_circle(&mut self, xc: i32, yc: i32, r: i32, color: Color) {
if color == Color::COLOR_KEY { return; }
if r < 0 { return; }
let mut x = 0;
let mut y = r;
@ -223,6 +230,8 @@ impl Gfx {
/// Draws a filled circle.
pub fn fill_circle(&mut self, xc: i32, yc: i32, r: i32, color: Color) {
if color == Color::COLOR_KEY { return; }
if r < 0 { return; }
let mut x = 0;
let mut y = r;
@ -255,6 +264,8 @@ impl Gfx {
/// Draws a rectangle outline.
pub fn draw_rect(&mut self, x: i32, y: i32, w: i32, h: i32, color: Color) {
if color == Color::COLOR_KEY { return; }
if w <= 0 || h <= 0 { return; }
self.draw_horizontal_line(x, x + w - 1, y, color);
self.draw_horizontal_line(x, x + w - 1, y + h - 1, color);
@ -269,6 +280,8 @@ impl Gfx {
}
fn draw_horizontal_line(&mut self, x0: i32, x1: i32, y: i32, color: Color) {
if color == Color::COLOR_KEY { return; }
if y < 0 || y >= self.h as i32 { return; }
let start = x0.max(0);
let end = x1.min(self.w as i32 - 1);
@ -279,6 +292,8 @@ impl Gfx {
}
fn draw_vertical_line(&mut self, x: i32, y0: i32, y1: i32, color: Color) {
if color == Color::COLOR_KEY { return; }
if x < 0 || x >= self.w as i32 { return; }
let start = y0.max(0);
let end = y1.min(self.h as i32 - 1);

View File

@ -62,7 +62,12 @@ impl Color {
}
pub const fn hex(self) -> i32 {
self.0 as i32
let (r5, g6, b5) = Self::unpack_to_native(self.0);
let r8 = ((r5 as u32) << 3) | ((r5 as u32) >> 2);
let g8 = ((g6 as u32) << 2) | ((g6 as u32) >> 4);
let b8 = ((b5 as u32) << 3) | ((b5 as u32) >> 2);
let hex = r8 << 16 | g8 << 8 | b8;
hex as i32
}
}

View File

@ -22,7 +22,7 @@ dist = true
include = [
"../../VERSION.txt",
"../../dist-staging/devtools/debugger-protocol",
"../../dist-staging/devtools/prometeu-sdk"
"../../dist-staging/devtools/typescript-sdk"
]
[dependencies]

View File

@ -51,6 +51,10 @@ declare global {
readonly cyan: Color565;
readonly magenta: Color565;
readonly indigo: Color565;
readonly color_key: Color565;
readonly orange: Color565;
readonly gray: Color565;
readonly grey: Color565;
rgb(r: number, g: number, b: number): Color565;
}

View File

@ -4,32 +4,30 @@ set -e
# Generate version
./scripts/gen-version.sh
VERSION=$(cat VERSION.txt)
# Prepare staging for SDK extra files
echo "Preparing dist-staging..."
rm -rf dist-staging/devtools/debugger-protocol
rm -rf dist-staging/devtools/prometeu-sdk
rm -rf dist-staging/devtools/typescript-sdk
mkdir -p dist-staging/devtools/debugger-protocol
mkdir -p dist-staging/devtools/prometeu-sdk
mkdir -p dist-staging/devtools/typescript-sdk
cp devtools/debugger-protocol/protocol.json dist-staging/devtools/debugger-protocol/
cp -R devtools/prometeu-sdk dist-staging/devtools
cp -R devtools/typescript-sdk dist-staging/devtools
cp VERSION.txt dist-staging/devtools/debugger-protocol/VERSION.txt
cp VERSION.txt dist-staging/devtools/prometeu-sdk/VERSION.txt
cp VERSION.txt dist-staging/devtools/typescript-sdk/VERSION.txt
# Clean and prepare the version-specific directory
echo "Cleaning dist-staging/stable/$VERSION..."
rm -rf "dist-staging/stable/$VERSION"
mkdir -p "dist-staging/stable/$VERSION"
echo "Cleaning dist-staging/stable..."
mkdir -p "dist-staging/stable"
rm -rf "dist-staging/stable/*"
# Build stable using cargo build
dist build
echo "Copying target/distrib content to dist-staging/stable/$VERSION..."
echo "Copying target/distrib content to dist-staging/stable..."
if [ -d "target/distrib" ] && [ "$(ls -A target/distrib)" ]; then
cp -r target/distrib/* "dist-staging/stable/$VERSION/"
cp -r target/distrib/* "dist-staging/stable/"
else
echo "Warning: target/dist directory not found or empty."
fi

View File

@ -0,0 +1,118 @@
00000000 Call U32(20) U32(0)
0000000A Pop
0000000C FrameSync
0000000E Jmp U32(0)
00000014 PushI32 U32(4849796) ; ./src/main.ts:2
0000001A Syscall U32(4097) ; ./src/main.ts:2
00000020 Pop ; ./src/main.ts:2
00000022 PushI32 U32(10) ; ./src/main.ts:4
00000028 PushI32 U32(10) ; ./src/main.ts:4
0000002E PushI32 U32(50) ; ./src/main.ts:4
00000034 PushI32 U32(50) ; ./src/main.ts:4
0000003A PushI32 U32(16711680) ; ./src/main.ts:4
00000040 Syscall U32(4098) ; ./src/main.ts:4
00000046 Pop ; ./src/main.ts:4
00000048 PushI32 U32(0) ; ./src/main.ts:5
0000004E PushI32 U32(0) ; ./src/main.ts:5
00000054 PushI32 U32(128) ; ./src/main.ts:5
0000005A PushI32 U32(128) ; ./src/main.ts:5
00000060 PushI32 U32(16777215) ; ./src/main.ts:5
00000066 Syscall U32(4099) ; ./src/main.ts:5
0000006C Pop ; ./src/main.ts:5
0000006E PushI32 U32(64) ; ./src/main.ts:6
00000074 PushI32 U32(64) ; ./src/main.ts:6
0000007A PushI32 U32(20) ; ./src/main.ts:6
00000080 PushI32 U32(255) ; ./src/main.ts:6
00000086 Syscall U32(4100) ; ./src/main.ts:6
0000008C Pop ; ./src/main.ts:6
0000008E PushI32 U32(100) ; ./src/main.ts:7
00000094 PushI32 U32(100) ; ./src/main.ts:7
0000009A PushI32 U32(10) ; ./src/main.ts:7
000000A0 PushI32 U32(65280) ; ./src/main.ts:7
000000A6 PushI32 U32(16776960) ; ./src/main.ts:7
000000AC Syscall U32(4101) ; ./src/main.ts:7
000000B2 Pop ; ./src/main.ts:7
000000B4 PushI32 U32(20) ; ./src/main.ts:8
000000BA PushI32 U32(100) ; ./src/main.ts:8
000000C0 PushI32 U32(30) ; ./src/main.ts:8
000000C6 PushI32 U32(30) ; ./src/main.ts:8
000000CC PushI32 U32(65535) ; ./src/main.ts:8
000000D2 PushI32 U32(16711935) ; ./src/main.ts:8
000000D8 Syscall U32(4102) ; ./src/main.ts:8
000000DE Pop ; ./src/main.ts:8
000000E0 PushI32 U32(0) ; ./src/main.ts:10
000000E6 Syscall U32(8193) ; ./src/main.ts:10
000000EC JmpIfFalse U32(268) ; ./src/main.ts:10
000000F2 PushI32 U32(2) ; ./src/main.ts:11
000000F8 PushConst U32(1) ; ./src/main.ts:11
000000FE Syscall U32(20481) ; ./src/main.ts:11
00000104 Pop ; ./src/main.ts:11
00000106 Jmp U32(268)
0000010C PushI32 U32(4) ; ./src/main.ts:14
00000112 Syscall U32(8194) ; ./src/main.ts:14
00000118 JmpIfFalse U32(330) ; ./src/main.ts:14
0000011E PushI32 U32(1) ; ./src/main.ts:15
00000124 PushI32 U32(0) ; ./src/main.ts:15
0000012A PushI32 U32(255) ; ./src/main.ts:15
00000130 PushI32 U32(128) ; ./src/main.ts:15
00000136 PushI32 U32(1) ; ./src/main.ts:15
0000013C Syscall U32(12289) ; ./src/main.ts:15
00000142 Pop ; ./src/main.ts:15
00000144 Jmp U32(330)
0000014A Syscall U32(8451) ; ./src/main.ts:18
00000150 JmpIfFalse U32(380) ; ./src/main.ts:18
00000156 Syscall U32(8449) ; ./src/main.ts:19
0000015C Syscall U32(8450) ; ./src/main.ts:19
00000162 PushI32 U32(5) ; ./src/main.ts:19
00000168 PushI32 U32(16777215) ; ./src/main.ts:19
0000016E Syscall U32(4100) ; ./src/main.ts:19
00000174 Pop ; ./src/main.ts:19
00000176 Jmp U32(380)
0000017C PushConst U32(2) ; ./src/main.ts:22
00000182 Syscall U32(16385) ; ./src/main.ts:22
00000188 GetLocal U32(0) ; ./src/main.ts:23
0000018E PushI32 U32(0) ; ./src/main.ts:23
00000194 Gte ; ./src/main.ts:23
00000196 JmpIfFalse U32(508) ; ./src/main.ts:23
0000019C GetLocal U32(0) ; ./src/main.ts:24
000001A2 PushConst U32(3) ; ./src/main.ts:24
000001A8 Syscall U32(16387) ; ./src/main.ts:24
000001AE Pop ; ./src/main.ts:24
000001B0 GetLocal U32(0) ; ./src/main.ts:25
000001B6 Syscall U32(16386) ; ./src/main.ts:25
000001BC GetLocal U32(1) ; ./src/main.ts:26
000001C2 JmpIfFalse U32(488) ; ./src/main.ts:26
000001C8 PushI32 U32(2) ; ./src/main.ts:26
000001CE PushI32 U32(101) ; ./src/main.ts:26
000001D4 GetLocal U32(1) ; ./src/main.ts:26
000001DA Syscall U32(20482) ; ./src/main.ts:26
000001E0 Pop ; ./src/main.ts:26
000001E2 Jmp U32(488)
000001E8 GetLocal U32(0) ; ./src/main.ts:27
000001EE Syscall U32(16388) ; ./src/main.ts:27
000001F4 Pop ; ./src/main.ts:27
000001F6 Jmp U32(508)
000001FC PushI32 U32(255) ; ./src/main.ts:30
00000202 PushI32 U32(3) ; ./src/main.ts:30
00000208 Shr ; ./src/main.ts:30
0000020A PushI32 U32(11) ; ./src/main.ts:30
00000210 Shl ; ./src/main.ts:30
00000212 PushI32 U32(128) ; ./src/main.ts:30
00000218 PushI32 U32(2) ; ./src/main.ts:30
0000021E Shr ; ./src/main.ts:30
00000220 PushI32 U32(5) ; ./src/main.ts:30
00000226 Shl ; ./src/main.ts:30
00000228 BitOr ; ./src/main.ts:30
0000022A PushI32 U32(0) ; ./src/main.ts:30
00000230 PushI32 U32(3) ; ./src/main.ts:30
00000236 Shr ; ./src/main.ts:30
00000238 BitOr ; ./src/main.ts:30
0000023A PushI32 U32(0) ; ./src/main.ts:31
00000240 PushI32 U32(0) ; ./src/main.ts:31
00000246 PushI32 U32(5) ; ./src/main.ts:31
0000024C PushI32 U32(5) ; ./src/main.ts:31
00000252 GetLocal U32(2) ; ./src/main.ts:31
00000258 Syscall U32(4098) ; ./src/main.ts:31
0000025E Pop ; ./src/main.ts:31
00000260 PushConst U32(0)
00000266 Ret

View File

@ -0,0 +1,644 @@
[
{
"pc": 20,
"file": "./src/main.ts",
"line": 2,
"col": 13
},
{
"pc": 26,
"file": "./src/main.ts",
"line": 2,
"col": 3
},
{
"pc": 32,
"file": "./src/main.ts",
"line": 2,
"col": 3
},
{
"pc": 34,
"file": "./src/main.ts",
"line": 4,
"col": 16
},
{
"pc": 40,
"file": "./src/main.ts",
"line": 4,
"col": 20
},
{
"pc": 46,
"file": "./src/main.ts",
"line": 4,
"col": 24
},
{
"pc": 52,
"file": "./src/main.ts",
"line": 4,
"col": 28
},
{
"pc": 58,
"file": "./src/main.ts",
"line": 4,
"col": 32
},
{
"pc": 64,
"file": "./src/main.ts",
"line": 4,
"col": 3
},
{
"pc": 70,
"file": "./src/main.ts",
"line": 4,
"col": 3
},
{
"pc": 72,
"file": "./src/main.ts",
"line": 5,
"col": 16
},
{
"pc": 78,
"file": "./src/main.ts",
"line": 5,
"col": 19
},
{
"pc": 84,
"file": "./src/main.ts",
"line": 5,
"col": 22
},
{
"pc": 90,
"file": "./src/main.ts",
"line": 5,
"col": 27
},
{
"pc": 96,
"file": "./src/main.ts",
"line": 5,
"col": 32
},
{
"pc": 102,
"file": "./src/main.ts",
"line": 5,
"col": 3
},
{
"pc": 108,
"file": "./src/main.ts",
"line": 5,
"col": 3
},
{
"pc": 110,
"file": "./src/main.ts",
"line": 6,
"col": 18
},
{
"pc": 116,
"file": "./src/main.ts",
"line": 6,
"col": 22
},
{
"pc": 122,
"file": "./src/main.ts",
"line": 6,
"col": 26
},
{
"pc": 128,
"file": "./src/main.ts",
"line": 6,
"col": 30
},
{
"pc": 134,
"file": "./src/main.ts",
"line": 6,
"col": 3
},
{
"pc": 140,
"file": "./src/main.ts",
"line": 6,
"col": 3
},
{
"pc": 142,
"file": "./src/main.ts",
"line": 7,
"col": 16
},
{
"pc": 148,
"file": "./src/main.ts",
"line": 7,
"col": 21
},
{
"pc": 154,
"file": "./src/main.ts",
"line": 7,
"col": 26
},
{
"pc": 160,
"file": "./src/main.ts",
"line": 7,
"col": 30
},
{
"pc": 166,
"file": "./src/main.ts",
"line": 7,
"col": 43
},
{
"pc": 172,
"file": "./src/main.ts",
"line": 7,
"col": 3
},
{
"pc": 178,
"file": "./src/main.ts",
"line": 7,
"col": 3
},
{
"pc": 180,
"file": "./src/main.ts",
"line": 8,
"col": 18
},
{
"pc": 186,
"file": "./src/main.ts",
"line": 8,
"col": 22
},
{
"pc": 192,
"file": "./src/main.ts",
"line": 8,
"col": 27
},
{
"pc": 198,
"file": "./src/main.ts",
"line": 8,
"col": 31
},
{
"pc": 204,
"file": "./src/main.ts",
"line": 8,
"col": 35
},
{
"pc": 210,
"file": "./src/main.ts",
"line": 8,
"col": 47
},
{
"pc": 216,
"file": "./src/main.ts",
"line": 8,
"col": 3
},
{
"pc": 222,
"file": "./src/main.ts",
"line": 8,
"col": 3
},
{
"pc": 224,
"file": "./src/main.ts",
"line": 10,
"col": 7
},
{
"pc": 230,
"file": "./src/main.ts",
"line": 10,
"col": 7
},
{
"pc": 236,
"file": "./src/main.ts",
"line": 10,
"col": 3
},
{
"pc": 242,
"file": "./src/main.ts",
"line": 11,
"col": 17
},
{
"pc": 248,
"file": "./src/main.ts",
"line": 11,
"col": 20
},
{
"pc": 254,
"file": "./src/main.ts",
"line": 11,
"col": 7
},
{
"pc": 260,
"file": "./src/main.ts",
"line": 11,
"col": 7
},
{
"pc": 268,
"file": "./src/main.ts",
"line": 14,
"col": 7
},
{
"pc": 274,
"file": "./src/main.ts",
"line": 14,
"col": 7
},
{
"pc": 280,
"file": "./src/main.ts",
"line": 14,
"col": 3
},
{
"pc": 286,
"file": "./src/main.ts",
"line": 15,
"col": 24
},
{
"pc": 292,
"file": "./src/main.ts",
"line": 15,
"col": 27
},
{
"pc": 298,
"file": "./src/main.ts",
"line": 15,
"col": 30
},
{
"pc": 304,
"file": "./src/main.ts",
"line": 15,
"col": 35
},
{
"pc": 310,
"file": "./src/main.ts",
"line": 15,
"col": 40
},
{
"pc": 316,
"file": "./src/main.ts",
"line": 15,
"col": 7
},
{
"pc": 322,
"file": "./src/main.ts",
"line": 15,
"col": 7
},
{
"pc": 330,
"file": "./src/main.ts",
"line": 18,
"col": 7
},
{
"pc": 336,
"file": "./src/main.ts",
"line": 18,
"col": 3
},
{
"pc": 342,
"file": "./src/main.ts",
"line": 19,
"col": 22
},
{
"pc": 348,
"file": "./src/main.ts",
"line": 19,
"col": 31
},
{
"pc": 354,
"file": "./src/main.ts",
"line": 19,
"col": 40
},
{
"pc": 360,
"file": "./src/main.ts",
"line": 19,
"col": 43
},
{
"pc": 366,
"file": "./src/main.ts",
"line": 19,
"col": 7
},
{
"pc": 372,
"file": "./src/main.ts",
"line": 19,
"col": 7
},
{
"pc": 380,
"file": "./src/main.ts",
"line": 22,
"col": 19
},
{
"pc": 386,
"file": "./src/main.ts",
"line": 22,
"col": 11
},
{
"pc": 392,
"file": "./src/main.ts",
"line": 23,
"col": 7
},
{
"pc": 398,
"file": "./src/main.ts",
"line": 23,
"col": 12
},
{
"pc": 404,
"file": "./src/main.ts",
"line": 23,
"col": 7
},
{
"pc": 406,
"file": "./src/main.ts",
"line": 23,
"col": 3
},
{
"pc": 412,
"file": "./src/main.ts",
"line": 24,
"col": 16
},
{
"pc": 418,
"file": "./src/main.ts",
"line": 24,
"col": 19
},
{
"pc": 424,
"file": "./src/main.ts",
"line": 24,
"col": 7
},
{
"pc": 430,
"file": "./src/main.ts",
"line": 24,
"col": 7
},
{
"pc": 432,
"file": "./src/main.ts",
"line": 25,
"col": 29
},
{
"pc": 438,
"file": "./src/main.ts",
"line": 25,
"col": 21
},
{
"pc": 444,
"file": "./src/main.ts",
"line": 26,
"col": 11
},
{
"pc": 450,
"file": "./src/main.ts",
"line": 26,
"col": 7
},
{
"pc": 456,
"file": "./src/main.ts",
"line": 26,
"col": 33
},
{
"pc": 462,
"file": "./src/main.ts",
"line": 26,
"col": 36
},
{
"pc": 468,
"file": "./src/main.ts",
"line": 26,
"col": 41
},
{
"pc": 474,
"file": "./src/main.ts",
"line": 26,
"col": 20
},
{
"pc": 480,
"file": "./src/main.ts",
"line": 26,
"col": 20
},
{
"pc": 488,
"file": "./src/main.ts",
"line": 27,
"col": 16
},
{
"pc": 494,
"file": "./src/main.ts",
"line": 27,
"col": 7
},
{
"pc": 500,
"file": "./src/main.ts",
"line": 27,
"col": 7
},
{
"pc": 508,
"file": "./src/main.ts",
"line": 30,
"col": 21
},
{
"pc": 514,
"file": "./src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 520,
"file": "./src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 522,
"file": "./src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 528,
"file": "./src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 530,
"file": "./src/main.ts",
"line": 30,
"col": 26
},
{
"pc": 536,
"file": "./src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 542,
"file": "./src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 544,
"file": "./src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 550,
"file": "./src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 552,
"file": "./src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 554,
"file": "./src/main.ts",
"line": 30,
"col": 31
},
{
"pc": 560,
"file": "./src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 566,
"file": "./src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 568,
"file": "./src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 570,
"file": "./src/main.ts",
"line": 31,
"col": 16
},
{
"pc": 576,
"file": "./src/main.ts",
"line": 31,
"col": 19
},
{
"pc": 582,
"file": "./src/main.ts",
"line": 31,
"col": 22
},
{
"pc": 588,
"file": "./src/main.ts",
"line": 31,
"col": 25
},
{
"pc": 594,
"file": "./src/main.ts",
"line": 31,
"col": 28
},
{
"pc": 600,
"file": "./src/main.ts",
"line": 31,
"col": 3
},
{
"pc": 606,
"file": "./src/main.ts",
"line": 31,
"col": 3
}
]

View File

@ -1,118 +0,0 @@
00000000 Call U32(20) U32(0)
0000000A Pop
0000000C FrameSync
0000000E Jmp U32(0)
00000014 PushI32 U32(18448) ; test-cartridges/color-square/dev/src/main.ts:2
0000001A Syscall U32(4097) ; test-cartridges/color-square/dev/src/main.ts:2
00000020 Pop ; test-cartridges/color-square/dev/src/main.ts:2
00000022 PushI32 U32(10) ; test-cartridges/color-square/dev/src/main.ts:4
00000028 PushI32 U32(10) ; test-cartridges/color-square/dev/src/main.ts:4
0000002E PushI32 U32(50) ; test-cartridges/color-square/dev/src/main.ts:4
00000034 PushI32 U32(50) ; test-cartridges/color-square/dev/src/main.ts:4
0000003A PushI32 U32(63488) ; test-cartridges/color-square/dev/src/main.ts:4
00000040 Syscall U32(4098) ; test-cartridges/color-square/dev/src/main.ts:4
00000046 Pop ; test-cartridges/color-square/dev/src/main.ts:4
00000048 PushI32 U32(0) ; test-cartridges/color-square/dev/src/main.ts:5
0000004E PushI32 U32(0) ; test-cartridges/color-square/dev/src/main.ts:5
00000054 PushI32 U32(128) ; test-cartridges/color-square/dev/src/main.ts:5
0000005A PushI32 U32(128) ; test-cartridges/color-square/dev/src/main.ts:5
00000060 PushI32 U32(65535) ; test-cartridges/color-square/dev/src/main.ts:5
00000066 Syscall U32(4099) ; test-cartridges/color-square/dev/src/main.ts:5
0000006C Pop ; test-cartridges/color-square/dev/src/main.ts:5
0000006E PushI32 U32(64) ; test-cartridges/color-square/dev/src/main.ts:6
00000074 PushI32 U32(64) ; test-cartridges/color-square/dev/src/main.ts:6
0000007A PushI32 U32(20) ; test-cartridges/color-square/dev/src/main.ts:6
00000080 PushI32 U32(31) ; test-cartridges/color-square/dev/src/main.ts:6
00000086 Syscall U32(4100) ; test-cartridges/color-square/dev/src/main.ts:6
0000008C Pop ; test-cartridges/color-square/dev/src/main.ts:6
0000008E PushI32 U32(100) ; test-cartridges/color-square/dev/src/main.ts:7
00000094 PushI32 U32(100) ; test-cartridges/color-square/dev/src/main.ts:7
0000009A PushI32 U32(10) ; test-cartridges/color-square/dev/src/main.ts:7
000000A0 PushI32 U32(2016) ; test-cartridges/color-square/dev/src/main.ts:7
000000A6 PushI32 U32(65504) ; test-cartridges/color-square/dev/src/main.ts:7
000000AC Syscall U32(4101) ; test-cartridges/color-square/dev/src/main.ts:7
000000B2 Pop ; test-cartridges/color-square/dev/src/main.ts:7
000000B4 PushI32 U32(20) ; test-cartridges/color-square/dev/src/main.ts:8
000000BA PushI32 U32(100) ; test-cartridges/color-square/dev/src/main.ts:8
000000C0 PushI32 U32(30) ; test-cartridges/color-square/dev/src/main.ts:8
000000C6 PushI32 U32(30) ; test-cartridges/color-square/dev/src/main.ts:8
000000CC PushI32 U32(2047) ; test-cartridges/color-square/dev/src/main.ts:8
000000D2 PushI32 U32(63519) ; test-cartridges/color-square/dev/src/main.ts:8
000000D8 Syscall U32(4102) ; test-cartridges/color-square/dev/src/main.ts:8
000000DE Pop ; test-cartridges/color-square/dev/src/main.ts:8
000000E0 PushI32 U32(0) ; test-cartridges/color-square/dev/src/main.ts:10
000000E6 Syscall U32(8193) ; test-cartridges/color-square/dev/src/main.ts:10
000000EC JmpIfFalse U32(268) ; test-cartridges/color-square/dev/src/main.ts:10
000000F2 PushI32 U32(2) ; test-cartridges/color-square/dev/src/main.ts:11
000000F8 PushConst U32(1) ; test-cartridges/color-square/dev/src/main.ts:11
000000FE Syscall U32(20481) ; test-cartridges/color-square/dev/src/main.ts:11
00000104 Pop ; test-cartridges/color-square/dev/src/main.ts:11
00000106 Jmp U32(268)
0000010C PushI32 U32(4) ; test-cartridges/color-square/dev/src/main.ts:14
00000112 Syscall U32(8194) ; test-cartridges/color-square/dev/src/main.ts:14
00000118 JmpIfFalse U32(330) ; test-cartridges/color-square/dev/src/main.ts:14
0000011E PushI32 U32(1) ; test-cartridges/color-square/dev/src/main.ts:15
00000124 PushI32 U32(0) ; test-cartridges/color-square/dev/src/main.ts:15
0000012A PushI32 U32(255) ; test-cartridges/color-square/dev/src/main.ts:15
00000130 PushI32 U32(128) ; test-cartridges/color-square/dev/src/main.ts:15
00000136 PushI32 U32(1) ; test-cartridges/color-square/dev/src/main.ts:15
0000013C Syscall U32(12289) ; test-cartridges/color-square/dev/src/main.ts:15
00000142 Pop ; test-cartridges/color-square/dev/src/main.ts:15
00000144 Jmp U32(330)
0000014A Syscall U32(8451) ; test-cartridges/color-square/dev/src/main.ts:18
00000150 JmpIfFalse U32(380) ; test-cartridges/color-square/dev/src/main.ts:18
00000156 Syscall U32(8449) ; test-cartridges/color-square/dev/src/main.ts:19
0000015C Syscall U32(8450) ; test-cartridges/color-square/dev/src/main.ts:19
00000162 PushI32 U32(5) ; test-cartridges/color-square/dev/src/main.ts:19
00000168 PushI32 U32(65535) ; test-cartridges/color-square/dev/src/main.ts:19
0000016E Syscall U32(4100) ; test-cartridges/color-square/dev/src/main.ts:19
00000174 Pop ; test-cartridges/color-square/dev/src/main.ts:19
00000176 Jmp U32(380)
0000017C PushConst U32(2) ; test-cartridges/color-square/dev/src/main.ts:22
00000182 Syscall U32(16385) ; test-cartridges/color-square/dev/src/main.ts:22
00000188 GetLocal U32(0) ; test-cartridges/color-square/dev/src/main.ts:23
0000018E PushI32 U32(0) ; test-cartridges/color-square/dev/src/main.ts:23
00000194 Gte ; test-cartridges/color-square/dev/src/main.ts:23
00000196 JmpIfFalse U32(508) ; test-cartridges/color-square/dev/src/main.ts:23
0000019C GetLocal U32(0) ; test-cartridges/color-square/dev/src/main.ts:24
000001A2 PushConst U32(3) ; test-cartridges/color-square/dev/src/main.ts:24
000001A8 Syscall U32(16387) ; test-cartridges/color-square/dev/src/main.ts:24
000001AE Pop ; test-cartridges/color-square/dev/src/main.ts:24
000001B0 GetLocal U32(0) ; test-cartridges/color-square/dev/src/main.ts:25
000001B6 Syscall U32(16386) ; test-cartridges/color-square/dev/src/main.ts:25
000001BC GetLocal U32(1) ; test-cartridges/color-square/dev/src/main.ts:26
000001C2 JmpIfFalse U32(488) ; test-cartridges/color-square/dev/src/main.ts:26
000001C8 PushI32 U32(2) ; test-cartridges/color-square/dev/src/main.ts:26
000001CE PushI32 U32(101) ; test-cartridges/color-square/dev/src/main.ts:26
000001D4 GetLocal U32(1) ; test-cartridges/color-square/dev/src/main.ts:26
000001DA Syscall U32(20482) ; test-cartridges/color-square/dev/src/main.ts:26
000001E0 Pop ; test-cartridges/color-square/dev/src/main.ts:26
000001E2 Jmp U32(488)
000001E8 GetLocal U32(0) ; test-cartridges/color-square/dev/src/main.ts:27
000001EE Syscall U32(16388) ; test-cartridges/color-square/dev/src/main.ts:27
000001F4 Pop ; test-cartridges/color-square/dev/src/main.ts:27
000001F6 Jmp U32(508)
000001FC PushI32 U32(255) ; test-cartridges/color-square/dev/src/main.ts:30
00000202 PushI32 U32(3) ; test-cartridges/color-square/dev/src/main.ts:30
00000208 Shr ; test-cartridges/color-square/dev/src/main.ts:30
0000020A PushI32 U32(11) ; test-cartridges/color-square/dev/src/main.ts:30
00000210 Shl ; test-cartridges/color-square/dev/src/main.ts:30
00000212 PushI32 U32(128) ; test-cartridges/color-square/dev/src/main.ts:30
00000218 PushI32 U32(2) ; test-cartridges/color-square/dev/src/main.ts:30
0000021E Shr ; test-cartridges/color-square/dev/src/main.ts:30
00000220 PushI32 U32(5) ; test-cartridges/color-square/dev/src/main.ts:30
00000226 Shl ; test-cartridges/color-square/dev/src/main.ts:30
00000228 BitOr ; test-cartridges/color-square/dev/src/main.ts:30
0000022A PushI32 U32(0) ; test-cartridges/color-square/dev/src/main.ts:30
00000230 PushI32 U32(3) ; test-cartridges/color-square/dev/src/main.ts:30
00000236 Shr ; test-cartridges/color-square/dev/src/main.ts:30
00000238 BitOr ; test-cartridges/color-square/dev/src/main.ts:30
0000023A PushI32 U32(0) ; test-cartridges/color-square/dev/src/main.ts:31
00000240 PushI32 U32(0) ; test-cartridges/color-square/dev/src/main.ts:31
00000246 PushI32 U32(5) ; test-cartridges/color-square/dev/src/main.ts:31
0000024C PushI32 U32(5) ; test-cartridges/color-square/dev/src/main.ts:31
00000252 GetLocal U32(2) ; test-cartridges/color-square/dev/src/main.ts:31
00000258 Syscall U32(4098) ; test-cartridges/color-square/dev/src/main.ts:31
0000025E Pop ; test-cartridges/color-square/dev/src/main.ts:31
00000260 PushConst U32(0)
00000266 Ret

View File

@ -1,644 +0,0 @@
[
{
"pc": 20,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 2,
"col": 13
},
{
"pc": 26,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 2,
"col": 3
},
{
"pc": 32,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 2,
"col": 3
},
{
"pc": 34,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 4,
"col": 16
},
{
"pc": 40,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 4,
"col": 20
},
{
"pc": 46,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 4,
"col": 24
},
{
"pc": 52,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 4,
"col": 28
},
{
"pc": 58,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 4,
"col": 32
},
{
"pc": 64,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 4,
"col": 3
},
{
"pc": 70,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 4,
"col": 3
},
{
"pc": 72,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 5,
"col": 16
},
{
"pc": 78,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 5,
"col": 19
},
{
"pc": 84,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 5,
"col": 22
},
{
"pc": 90,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 5,
"col": 27
},
{
"pc": 96,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 5,
"col": 32
},
{
"pc": 102,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 5,
"col": 3
},
{
"pc": 108,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 5,
"col": 3
},
{
"pc": 110,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 6,
"col": 18
},
{
"pc": 116,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 6,
"col": 22
},
{
"pc": 122,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 6,
"col": 26
},
{
"pc": 128,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 6,
"col": 30
},
{
"pc": 134,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 6,
"col": 3
},
{
"pc": 140,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 6,
"col": 3
},
{
"pc": 142,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 7,
"col": 16
},
{
"pc": 148,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 7,
"col": 21
},
{
"pc": 154,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 7,
"col": 26
},
{
"pc": 160,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 7,
"col": 30
},
{
"pc": 166,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 7,
"col": 43
},
{
"pc": 172,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 7,
"col": 3
},
{
"pc": 178,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 7,
"col": 3
},
{
"pc": 180,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 8,
"col": 18
},
{
"pc": 186,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 8,
"col": 22
},
{
"pc": 192,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 8,
"col": 27
},
{
"pc": 198,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 8,
"col": 31
},
{
"pc": 204,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 8,
"col": 35
},
{
"pc": 210,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 8,
"col": 47
},
{
"pc": 216,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 8,
"col": 3
},
{
"pc": 222,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 8,
"col": 3
},
{
"pc": 224,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 10,
"col": 7
},
{
"pc": 230,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 10,
"col": 7
},
{
"pc": 236,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 10,
"col": 3
},
{
"pc": 242,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 11,
"col": 17
},
{
"pc": 248,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 11,
"col": 20
},
{
"pc": 254,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 11,
"col": 7
},
{
"pc": 260,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 11,
"col": 7
},
{
"pc": 268,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 14,
"col": 7
},
{
"pc": 274,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 14,
"col": 7
},
{
"pc": 280,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 14,
"col": 3
},
{
"pc": 286,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 15,
"col": 24
},
{
"pc": 292,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 15,
"col": 27
},
{
"pc": 298,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 15,
"col": 30
},
{
"pc": 304,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 15,
"col": 35
},
{
"pc": 310,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 15,
"col": 40
},
{
"pc": 316,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 15,
"col": 7
},
{
"pc": 322,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 15,
"col": 7
},
{
"pc": 330,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 18,
"col": 7
},
{
"pc": 336,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 18,
"col": 3
},
{
"pc": 342,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 19,
"col": 22
},
{
"pc": 348,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 19,
"col": 31
},
{
"pc": 354,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 19,
"col": 40
},
{
"pc": 360,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 19,
"col": 43
},
{
"pc": 366,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 19,
"col": 7
},
{
"pc": 372,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 19,
"col": 7
},
{
"pc": 380,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 22,
"col": 19
},
{
"pc": 386,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 22,
"col": 11
},
{
"pc": 392,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 23,
"col": 7
},
{
"pc": 398,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 23,
"col": 12
},
{
"pc": 404,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 23,
"col": 7
},
{
"pc": 406,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 23,
"col": 3
},
{
"pc": 412,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 24,
"col": 16
},
{
"pc": 418,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 24,
"col": 19
},
{
"pc": 424,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 24,
"col": 7
},
{
"pc": 430,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 24,
"col": 7
},
{
"pc": 432,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 25,
"col": 29
},
{
"pc": 438,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 25,
"col": 21
},
{
"pc": 444,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 26,
"col": 11
},
{
"pc": 450,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 26,
"col": 7
},
{
"pc": 456,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 26,
"col": 33
},
{
"pc": 462,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 26,
"col": 36
},
{
"pc": 468,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 26,
"col": 41
},
{
"pc": 474,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 26,
"col": 20
},
{
"pc": 480,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 26,
"col": 20
},
{
"pc": 488,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 27,
"col": 16
},
{
"pc": 494,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 27,
"col": 7
},
{
"pc": 500,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 27,
"col": 7
},
{
"pc": 508,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 30,
"col": 21
},
{
"pc": 514,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 520,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 522,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 528,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 530,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 30,
"col": 26
},
{
"pc": 536,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 542,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 544,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 550,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 552,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 554,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 30,
"col": 31
},
{
"pc": 560,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 566,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 568,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 30,
"col": 11
},
{
"pc": 570,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 31,
"col": 16
},
{
"pc": 576,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 31,
"col": 19
},
{
"pc": 582,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 31,
"col": 22
},
{
"pc": 588,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 31,
"col": 25
},
{
"pc": 594,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 31,
"col": 28
},
{
"pc": 600,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 31,
"col": 3
},
{
"pc": 606,
"file": "test-cartridges/color-square/dev/src/main.ts",
"line": 31,
"col": 3
}
]

View File

@ -1,18 +0,0 @@
{
"name": "dev",
"lockfileVersion": 3,
"requires": true,
"packages": {
"../prometeu-sdk": {
"extraneous": true
},
"node_modules/@prometeu/sdk": {
"resolved": "prometeu-sdk",
"link": true
},
"prometeu-sdk": {
"name": "@prometeu/sdk",
"version": "0.1.0"
}
}
}

View File

@ -1 +0,0 @@
../../prometeu-sdk

View File

@ -1,5 +0,0 @@
{
"dependencies": {
"@prometeu/sdk": "file:./prometeu-sdk"
}
}

View File

@ -1 +0,0 @@
../../../devtools/prometeu-sdk

View File

@ -1,23 +1,22 @@
{
"name": "dev",
"name": "color-square",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"dependencies": {
"@prometeu/sdk": "file:./prometeu-sdk"
}
},
"../prometeu-sdk": {
"extraneous": true
},
"node_modules/@prometeu/sdk": {
"resolved": "prometeu-sdk",
"resolved": "prometeu-sdk/typescript-sdk",
"link": true
},
"prometeu-sdk": {
"name": "@prometeu/sdk",
"version": "0.1.0"
},
"prometeu-sdk/typescript-sdk": {
"name": "@prometeu/sdk",
"version": "0.1.0"
}
}
}

1
test-cartridges/color-square/node_modules/@prometeu/sdk generated vendored Symbolic link
View File

@ -0,0 +1 @@
../../prometeu-sdk/typescript-sdk

View File

@ -0,0 +1,27 @@
{
"name": "color-square",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"dependencies": {
"@prometeu/sdk": "file:./prometeu-sdk/typescript-sdk"
}
},
"../prometeu-sdk": {
"extraneous": true
},
"node_modules/@prometeu/sdk": {
"resolved": "prometeu-sdk/typescript-sdk",
"link": true
},
"prometeu-sdk": {
"name": "@prometeu/sdk",
"version": "0.1.0"
},
"prometeu-sdk/typescript-sdk": {
"name": "@prometeu/sdk",
"version": "0.1.0"
}
}
}

View File

@ -0,0 +1,5 @@
{
"dependencies": {
"@prometeu/sdk": "file:./prometeu-sdk/typescript-sdk"
}
}

View File

@ -0,0 +1 @@
../../dist-staging/stable/prometeu-aarch64-apple-darwin/

View File

@ -5,7 +5,7 @@ export function tick(): void {
gfx.drawLine(0, 0, 128, 128, color.white);
gfx.drawCircle(64, 64, 20, color.blue);
gfx.drawDisc(100, 100, 10, color.green, color.yellow);
gfx.drawSquare(20, 100, 30, 30, color.cyan, color.magenta);
gfx.drawSquare(20, 100, 30, 30, color.cyan, color.color_key);
if (pad.up.down) {
log.write(2, "Up is down");