I’m working on a fantasy console and I’ve gotten to the point where I’m drawing pixels :D. Here’s a taste of what it takes to draw a box and move it around the screen ->
m.push((char)0x1000);
m.push(Screen.toHexCoords(64, 128));
m.push((char)1024);
m.push((char)0x0600);
m.push((char)1024);
m.push((char)0xb000);
m.push((char)0x5000);
m.push(Screen.toHexCoords(1, 1));
m.push((char)0xa107);
m.push((char)0x0600);
m.push((char)1024);
m.push((char)0x5000);
m.push(Screen.toHexCoords(0, 1));
m.push((char)0xa107);
m.push((char)0x0600);
m.push((char)1024);
m.push((char)0x5000);
m.push(Screen.toHexCoords(0, 1));
m.push((char)0x4000);
m.push(Screen.toHexCoords(1, 0));
m.push((char)0xa107);
m.push((char)0x0600);
m.push((char)1024);
m.push((char)0x4000);
m.push(Screen.toHexCoords(1, 1));
m.push((char)0xa107);
m.push((char)0x0600);
m.push((char)1024);
m.push((char)0x4000);
m.push(Screen.toHexCoords(0, 1));
m.push((char)0xa107);
m.push((char)0x0600);
m.push((char)1024);
m.push((char)0x4000);
m.push(Screen.toHexCoords(0, 1));
m.push((char)0x5000);
m.push(Screen.toHexCoords(1, 0));
m.push((char)0xa107);
m.push((char)0x0600);
m.push((char)1024);
m.push((char)0x5000);
m.push(Screen.toHexCoords(1, 0));
m.push((char)0xa107);
m.push((char)0x0600);
m.push((char)1024);
m.push((char)0x4000);
m.push(Screen.toHexCoords(1, 0));
m.push((char)0xa107);
m.push((char)0x0600);
m.push((char)1024);
m.push((char)0x0600);
m.push((char)1024);
m.push((char)0x4000);
m.push(Screen.toHexCoords(2, 1));
m.push((char)0x2000);
m.push((char)1024);
m.push((char)0xe000);
m.push((char)0x9000);
m.push((char)3077);
Draws This (the box moves and wraps around the screen):
I’m designing a low-level assembly-like language to make this process a lot easier but it’s pretty fun to just input bytes like this