|
7351
|
QuestLife by @veronicak | Stardance
|
veronicak
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: QuestLife by @veronicak | Stardance
|
1793408064.636156
|
1794012864.636156
|
|
7352
|
My first slack bot! by @nishkashetty04 | Stardance
|
nishkashetty04
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @nishkashetty04 | St Title: My first slack bot! by @nishkashetty04 | Stardance...
|
1793213562.0680172
|
1793818362.0680172
|
|
7353
|
Red Door Yellow Door by @isadora_M | Stardance
|
isadora_M
|
0
|
22.24
|
0
|
[]
|
[{"post_id": 73452, "ts": "202 [{"post_id": 73452, "ts": "2026-09-25T03:43:57Z", "hours": 4.5422, "text": "Red Door Delvog #6 - I’ve been working on lots of materials, meshes, and other various art-related parts of this game! I’ve been working on some UI elements, and I hope soon the game will be looking a little better."}, {"post_id": 68910, "ts": "2026-09-16T00:59:07Z", "hours": 3.2178, "text": "Red Door Devlog #5 - I’ve done a lot of work on the special levels, including the meadow level. I decided to use physical walls and terrain to make the meadow rather than a skybox to help contribute to the uncanny vibes. I also created a basic startup screen, although it looks pretty bad, so I will probably change it later."}, {"post_id": 66963, "ts": "2026-09-12T23:05:52Z", "hours": 3.6042, "text": "Red Door Devlog #4 - I have finally started working on some custom 3D models! Im probably going to get most of my models off the unity store, but I wanted to make the door models myself, as there are very specific colors that I am imagining. In terms of base game mechanics, I am working on an algorithm that places sub-walls throughout rooms so that they aren’t just one big box. It’s going slowly as I, shockingly, still suck at C#."}, {"post_id": 62461, "ts": "2026-09-05T20:20:30Z", "hours": 3.1867, "text": "Red Door Devlog #3 - I finally got the infinite room generation working! This involved creating empty door frames in the newly generated rooms so the player can pass through the door. This was pretty difficult, as my C# skills are severely lacking. Next, I want to make a system so older rooms will automatically be deleted."}, {"post_id": 60000, "ts": "2026-09-02T02:58:00Z", "hours": 4.4006, "text": "Red Door Devlog #2 – Unfortunately, I still suck at C# so this project has been very slow going. I tried to follow some tutorials online, but they weren’t super helpful. If anyone knows some really good Unity/ C# free courses, lmk. I have accomplished making a script that will automatically generate a room of a random size with a door on a random wall. I also have the outlines for the functions that will allow a new room to generate when the player walks through the door, so soon hopefully I will have an infinite room generation system!"}, {"post_id": 50693, "ts": "2026-08-20T00:36:25Z", "hours": 3.2853, "text": "Red Door Devlog #1 - Starting a new game project! This game is going to be a video game adaptation of the urban legend “Red Door Yellow Door”. I haven’t worked out all of the details yet, but the premise of the game will be the player exploring a creepy maze where they must choose their path by entering differently colored doors. It will be made using Unity, and so far I have created a basic 1st person movement script. This is my first time using Unity and coding in C#, which is why this took 3 hours. My first goal is basic room generation, where entering a door generates a new room of a random size."}]...
|
Title: Red Door Yellow Door by @isadora_M | Starda Title: Red Door Yellow Door by @isadora_M | Stardance
Devlogs:
Red Door Devlog #1 - Starting a new game project! This game is going to be a video game adaptation of the urban legend “Red Door Yellow Door”. I haven’t worked out all of the details yet, but the premise of the game will be the player exploring a creepy maze where they must choose their path by entering differently colored doors. It will be made using Unity, and so far I have created a basic 1st person movement script. This is my first time using Unity and coding in C#, which is why this took 3 hours. My first goal is basic room generation, where entering a door generates a new room of a random size.
Red Door Devlog #2 – Unfortunately, I still suck at C# so this project has been very slow going. I tried to follow some tutorials online, but they weren’t super helpful. If anyone knows some really good Unity/ C# free courses, lmk. I have accomplished making a script that will automatically generate a room of a random size with a door on a random wall. I also have the outlines for the functions that will allow a new room to generate when the player walks through the door, so soon hopefully I will have an infinite room generation system!
Red Door Devlog #3 - I finally got the infinite room generation working! This involved creating empty door frames in the newly generated rooms so the player can pass through the door. This was pretty difficult, as my C# skills are severely lacking. Next, I want to make a system so older rooms will automatically be deleted.
Red Door Devlog #4 - I have finally started working on some custom 3D models! Im probably going to get most of my models off the unity store, but I wanted to make the door models myself, as there are very specific colors that I am imagining. In terms of base game mechanics, I am working on an algorithm that places sub-walls throughout rooms so that they aren’t just one big box. It’s going slowly as I, shockingly, still suck at C#.
Red Door Devlog #5 - I’ve done a lot of work on the special levels, including the meadow level. I decided to use physical walls and terrain to make the meadow rather than a skybox to help contribute to the uncanny vibes. I also created a basic startup screen, although it looks pretty bad, so I will probably change it later.
Red Door Delvog #6 - I’ve been working on lots of materials, meshes, and other various art-related parts of this game! I’ve been working on some UI elements, and I hope soon the game will be looking a little better....
|
1793296503.720954
|
1793901303.720954
|
|
7354
|
My first slack bot! by @SaaketB | Stardance
|
SaaketB
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @SaaketB | Stardance
|
1792774443.306252
|
1793379243.306252
|
|
7355
|
Untitled by @muhammedanasyt | Stardance
|
muhammedanasyt
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @muhammedanasyt | Stardance
|
1793202835.4567857
|
1793807635.4567857
|
|
7356
|
MultiViewer for All by @QuentinM | Stardance
|
QuentinM
|
0
|
15.05
|
0
|
[]
|
[{"post_id": 8910, "ts": "2026 [{"post_id": 8910, "ts": "2026-06-14T20:36:27Z", "hours": 15.0508, "text": "Worked on building the multi-provider base and implementing a few providers such as NPO, NOS (NL), 9Now (AU) and France.TV (FR and WIP). Used Electron for the window framework and Material UI for the UI components"}]...
|
Title: MultiViewer for All by @QuentinM | Stardanc Title: MultiViewer for All by @QuentinM | Stardance
Devlogs:
Worked on building the multi-provider base and implementing a few providers such as NPO, NOS (NL), 9Now (AU) and France.TV (FR and WIP). Used Electron for the window framework and Material UI for the UI components...
|
1792738154.3174963
|
1793342954.3174963
|
|
7357
|
My awesome macropad! by @aaron_gilbert | Stardance
|
aaron_gilbert
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @aaron_gilbert | St Title: My awesome macropad! by @aaron_gilbert | Stardance...
|
1793393462.0182548
|
1793998262.0182548
|
|
7358
|
Python code by @PTF | Stardance
|
PTF
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Python code by @PTF | Stardance
|
1793270955.1055746
|
1793875755.1055746
|
|
7359
|
My awesome macropad! by @Patorick | Stardance
|
Patorick
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Patorick | Stardan Title: My awesome macropad! by @Patorick | Stardance...
|
1792788857.202178
|
1793393657.202178
|
|
7360
|
My first slack bot! by @UnWubed | Stardance
|
UnWubed
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @UnWubed | Stardance
|
1792742107.4948606
|
1793346907.4948606
|
|
7361
|
My awesome macropad! by @prags | Stardance
|
prags
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @prags | Stardance
|
1792799293.1934488
|
1793404093.1934488
|
|
7362
|
Untitled by @ReubenPaulClarance | Stardance
|
ReubenPaulClarance
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @ReubenPaulClarance | Stardance
|
1793371661.5942972
|
1793976461.5942972
|
|
7363
|
Untitled by @aaron_gilbert | Stardance
|
aaron_gilbert
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @aaron_gilbert | Stardance
|
1793389768.8329177
|
1793994568.8329177
|
|
7364
|
My awesome macropad! by @aaron_gilbert | Stardance
|
aaron_gilbert
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @aaron_gilbert | St Title: My awesome macropad! by @aaron_gilbert | Stardance...
|
1792716605.5221446
|
1793321405.5221446
|
|
7365
|
A mini digital camera by @KatD | Stardance
|
KatD
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: A mini digital camera by @KatD | Stardance
|
1792723654.6585233
|
1793328454.6585233
|
|
7366
|
Untitled project by @ethanjwendt | Stardance
|
ethanjwendt
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @ethanjwendt | Stardanc Title: Untitled project by @ethanjwendt | Stardance...
|
1792784988.741877
|
1793389788.741877
|
|
7367
|
My awesome macropad! by @andrea_ | Stardance
|
andrea_
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @andrea_ | Stardanc Title: My awesome macropad! by @andrea_ | Stardance...
|
1793166526.3976915
|
1793771326.3976915
|
|
7368
|
Kessler Syndrome by @ThePangel | Stardance
|
ThePangel
|
0
|
5.57
|
0
|
[]
|
[{"post_id": 11859, "ts": "202 [{"post_id": 11859, "ts": "2026-06-19T09:33:41Z", "hours": 0.92, "text": "Worked a little more on the planting module, adding planters and grow lights"}, {"post_id": 4097, "ts": "2026-06-07T09:11:25Z", "hours": 0.6056, "text": "Started the hydroponics module of the station This is were the player will manage plants for food Just the hull and some cables, has been a long time since I last used blender so i had to get up to speed again"}, {"post_id": 3706, "ts": "2026-06-06T19:17:23Z", "hours": 3.0919, "text": "Started to code movement and was hours trying to make a lens flair shader but couldn’t so that will be put on hold, now I think imma so the space station in blender"}, {"post_id": 2750, "ts": "2026-06-05T14:53:46Z", "hours": 0.9506, "text": "I wrote the Initial game and story ide, now to actual development"}]...
|
Title: Kessler Syndrome by @ThePangel | Stardance
Title: Kessler Syndrome by @ThePangel | Stardance
Devlogs:
I wrote the Initial game and story ide, now to actual development
Started to code movement and was hours trying to make a lens flair shader but couldn’t so that will be put on hold, now I think imma so the space station in blender
Started the hydroponics module of the station This is were the player will manage plants for food Just the hull and some cables, has been a long time since I last used blender so i had to get up to speed again
Worked a little more on the planting module, adding planters and grow lights...
|
1793224054.9795294
|
1793828854.9795294
|
|
7369
|
MEA-crypt by @MEA1471 | Stardance
|
MEA1471
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: MEA-crypt by @MEA1471 | Stardance
|
1793289277.249811
|
1793894077.249811
|
|
7370
|
My awesome macropad! by @amti | Stardance
|
amti
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @amti | Stardance
|
1792713167.5375159
|
1793317967.5375159
|
|
7371
|
My first slack bot! by @Tennisdude | Stardance
|
Tennisdude
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Tennisdude | Starda Title: My first slack bot! by @Tennisdude | Stardance...
|
1793375396.7854393
|
1793980196.7854393
|
|
7372
|
Meowcode by @artem | Stardance
|
artem
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Meowcode by @artem | Stardance
|
1793152440.7297287
|
1793757240.7297287
|
|
7373
|
B1G_R3D_ALARM by @Karpp | Stardance
|
Karpp
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: B1G_R3D_ALARM by @Karpp | Stardance
|
1793285302.9827213
|
1793890102.9827213
|
|
7374
|
Pit boy logs by @jackf | Stardance
|
jackf
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Pit boy logs by @jackf | Stardance
|
1792745594.4862232
|
1793350394.4862232
|
|
7375
|
My awesome macropad! by @Jonzer5318 | Stardance
|
Jonzer5318
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Jonzer5318 | Stard Title: My awesome macropad! by @Jonzer5318 | Stardance...
|
1793339492.1722083
|
1793944292.1722083
|
|
7376
|
3d Tetris arcade by @lorenzo | Stardance
|
lorenzo
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: 3d Tetris arcade by @lorenzo | Stardance
|
1793300165.350897
|
1793904965.350897
|
|
7377
|
My awesome macropad! by @JameDev | Stardance
|
JameDev
|
0
|
0.33
|
0
|
[]
|
[{"post_id": 2257, "ts": "2026 [{"post_id": 2257, "ts": "2026-06-04T17:26:35Z", "hours": 0.3264, "text": "Going to start now, nothing to see yet, so here is a nice memory of siege."}]...
|
Title: My awesome macropad! by @JameDev | Stardanc Title: My awesome macropad! by @JameDev | Stardance
Devlogs:
Going to start now, nothing to see yet, so here is a nice memory of siege....
|
1793206079.7142608
|
1793810879.7142608
|
|
7378
|
Stardance by @parth | Stardance
|
parth
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Stardance by @parth | Stardance
|
1793400596.55075
|
1794005396.55075
|
|
7379
|
My first slack bot! by @ciara | Stardance
|
ciara
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @ciara | Stardance
|
1793188078.8622193
|
1793792878.8622193
|
|
7380
|
My first slack bot! by @yashCh | Stardance
|
yashCh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @yashCh | Stardance
|
1793365001.269087
|
1793969801.269087
|
|
7381
|
My first slack bot! by @namitjohne | Stardance
|
namitjohne
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @namitjohne | Starda Title: My first slack bot! by @namitjohne | Stardance...
|
1792749099.0349407
|
1793353899.0349407
|
|
7382
|
My first slack bot! by @MemZNTV | Stardance
|
MemZNTV
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @MemZNTV | Stardance
|
1792748984.8774073
|
1793353784.8774073
|
|
7383
|
Untitled by @f3l1xn0tacat | Stardance
|
f3l1xn0tacat
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @f3l1xn0tacat | Stardance
|
1792760024.6055074
|
1793364824.6055074
|
|
7384
|
My awesome macropad! by @CommanderGodzilla | Stard My awesome macropad! by @CommanderGodzilla | Stardance...
|
CommanderGodzilla
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @CommanderGodzilla Title: My awesome macropad! by @CommanderGodzilla | Stardance...
|
1792749202.800833
|
1793354002.800833
|
|
7385
|
My awesome macropad! by @felipepalmeida | Stardanc My awesome macropad! by @felipepalmeida | Stardance...
|
felipepalmeida
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @felipepalmeida | S Title: My awesome macropad! by @felipepalmeida | Stardance...
|
1793148882.9147198
|
1793753682.9147198
|
|
7386
|
Cracked_trial.jar by @MemZNTV | Stardance
|
MemZNTV
|
0
|
1.53
|
0
|
[]
|
[{"post_id": 4447, "ts": "2026 [{"post_id": 4447, "ts": "2026-06-07T19:29:03Z", "hours": 1.5314, "text": "Major hotfix has been made, progress updates are in my discord first https://discord.gg/nycUpMgpW"}]...
|
Title: Cracked_trial.jar by @MemZNTV | Stardance
Title: Cracked_trial.jar by @MemZNTV | Stardance
Devlogs:
Major hotfix has been made, progress updates are in my discord first https://discord.gg/nycUpMgpW...
|
1792770874.9619572
|
1793375674.9619572
|
|
7387
|
My awesome macropad! by @Waltie-Woo | Stardance
|
Waltie-Woo
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Waltie-Woo | Stard Title: My awesome macropad! by @Waltie-Woo | Stardance...
|
1792795817.2451298
|
1793400617.2451298
|
|
7388
|
Beginner Friendly Emulator by @koen_ | Stardance
|
koen_
|
0
|
20.55
|
0
|
[]
|
[{"post_id": 43928, "ts": "202 [{"post_id": 43928, "ts": "2026-08-09T11:45:37Z", "hours": 0.4439, "text": "Small additions and fixes in instructions I added two instructions: cmp_r and nop. cmp_r is simply register-to-register comparation. nop is an instruction to explicitly do nothing. A sort of padding. I also added a third default interrupt: “Math Error”. It is raised when division by zero is attempted. Further changes I changed a couple of things in the interrupt handling. I made sure when an interrupt is manually raised, the PC is incremented beforehand, so it won’t loop, and I made sure that calls to undefined interrupts aren’t actually executed but instantly return. Next time? Next time I’m doing (hopefully) a final pre-1.0 cleanup. I’ll be catching some possible crashes to make sure they’re CPU faults instead of emulator crashes and I’ll add a way to switch from Big to Little Endian to make sure everything is reachable in memory. What’s below? The screenshot below is my handleInterrupt() function."}, {"post_id": 43282, "ts": "2026-08-08T13:40:51Z", "hours": 0.4867, "text": "Small internal improvements I changed the inner structure a bit, I finally made use of the “Init” class by putting the function in there that initializes the CPU, bus and screen. I also updated the “–help” menu and added a new flag. The new flag is “-msg”, it takes a string as input and simply prints it to the text buffer for fun. The screenshot below was produced using this flag. I also made a JPackage in app-image form, but I didn’t release it anywhere yet. Further changes I added new characters. The “ ' “, “ \" “, “;”, “:”, “?” and “!”"}, {"post_id": 42731, "ts": "2026-08-07T16:24:43Z", "hours": 0.6367, "text": "More arithmetics I have been kind of stupid, thinking only add and sub will be enough. So I added all arithmetic and bitwise operation instructions needed and even more to make things easier. I added (all except for ‘not’ also have a dynamic version through registers): Mul Div And Or Xor Not ShR (Shift Right) ShL (Shift Left) SAR (Shift Arithmetic Right) Further changes I also updated the docs. Of course about the instructions, but also about the registers. Last time I added stack functionality, so I added the SP in the docs and removed the part that said the stack wasn’t included. The screenshot below is simply the code for the new instructions in the CPU loop"}, {"post_id": 38263, "ts": "2026-07-31T15:54:01Z", "hours": 1.2386, "text": "Stack functionality I added the Stack Pointer register, along with PUSH, POP, call and ret instructions. The stack grows downwards with frames of a WORD (32-bit). The SP starts at the top of RAM, PUSH moves it down four cells, POP moves it up four cells. Documentation hasn’t been changed fully. Changes Further, I removed the –menu option as it was mostly useless and added the –docs option to print out sections of the docs in the terminal. The screenshot below showcases the output for -di"}, {"post_id": 35141, "ts": "2026-07-26T11:48:20Z", "hours": 0.7531, "text": "Memory Sizes Configuration I added a flag (-mm for manual-memory) so users can manually set sizes for all regions of memory. To help, it will then also output the locations of everything to the terminal. Changes I added the add_r and sub_r instructions for dynamic arithmetic operations."}, {"post_id": 24738, "ts": "2026-07-08T14:50:28Z", "hours": 0.4197, "text": "More letters and privileged fields Today also a small update, I am working towards the end! I added some more privileged fields. The System control, Display Mode and overall Video Memory. I also slightly changed the documentation to include the newest instruction. I might have written to the wrong file for that though (will fix that very soon). And mostly I added new characters, those being all lowercase letters and the period. (See screenshot below) Next time I will add new arithmetic instructions because now you can’t actually add one variable to another. And I will handle some more security stuff!"}, {"post_id": 21655, "ts": "2026-07-03T18:42:05Z", "hours": 0.8006, "text": "Security and the halt instruction Mostly unfinished work today. Firstly, I changed the halt instruction. It now halts the instructions until an interrupt is handled. If interrupts are disabled, the halted state will automatically be set to false after 10 million cycles (around 3.75 seconds) by the watchdog. I also added a priviliged mode, but I only actually made a few instructions priviliged and no registers and such yet. For this all I added instructions 241 and 30. 241 allows a user to switch security modes (only if the program is executing within ROM, so no user programs can do this). 30 allows you to change the interval of the timer interrupt. That’s it for today, I probably will be back tomorrow. As for the screenshot, that’s just the output when I was testing the watchdog system."}, {"post_id": 18588, "ts": "2026-06-29T19:38:31Z", "hours": 1.4561, "text": "Documentation I added a few flags (-e, -v, -h and -m. Nothing special) and started working on the official Documentation. Project info will soon be updated for the URL."}, {"post_id": 17847, "ts": "2026-06-28T19:49:48Z", "hours": 0.3617, "text": "Changed jump instructions I added dynamic variants of the cmp instruction and the entire set of jump instructions. Nothing has been tested yet as I was running short on time. Changes I made all jump instructions 32-bit"}, {"post_id": 16979, "ts": "2026-06-27T15:47:34Z", "hours": 0.5306, "text": "New interrupt handling instructions! A tiny addition today, I added three new instructions. One for manually raising interrupts, one for toggling interrupts and one for changing the IVT (Interrupt Vector Table). The latter allows you to change the addresses for existing interrupts and add new interrupts up to 255. (When an undefined interrupt is raised, the PC will be set to the start of RAM) Changes Nothing today What will I work on next? I will probably fix the jump instruction because some things bug me about it. The screenshot The screenshot below shows terminal output. Most of the output is debug messages, but one important thing is the line ‘Handling interrupt! Type 4’. Type 4 is a custom interrupt!"}, {"post_id": 16265, "ts": "2026-06-26T13:30:14Z", "hours": 1.5011, "text": "Interrupts I finally did it. Interrupts are now a thing. There are, as of now, three interrupts. Timer, Keyboard and one without purpose. Each interrupt is allocated 50 bytes of memory at the end of the program. The standard locations in the Vector Table are 1850, 1900 and 1950. An instruction with opcode 18 or 0x12 was added for a so called “State Return”. This instruction is mandatory at the end of an interrupt. It will set the PC back to the IRP (Interrupt Return Pointer) and and all the flags back to their saved state. The screenshot below is a program that utilizes the Timer interrupt to create a simple fade-in animation. Changes As for changes, not a lot happened. Small tweaks in the Timer and Keyboard handlers to make them raise interrupts and of course additions to the CPU loop. Main was also slightly changed to make sure everything closes correctly on a System Control 0x01 call. (Shutdown) What will I work on next? Frankly, I do not have anything concrete planned. I am thinking of adding a few instructions for interrupts (Specifically Disable, Enable and Raise. For Syscalls in a possible OS maybe?) and overall expanding upon them where I can."}, {"post_id": 15665, "ts": "2026-06-25T13:56:48Z", "hours": 1.1444, "text": "New IO registers I added new IO registers. Display mode, Random number, System control and Timer. The screenshot shows where all of these are found in memory. The timer takes up four bytes, the rest all one. The Display mode register is a read-write register that stores one byte to determine the display mode. 0 for text, 1 for video. The panel updates to this every CPU cycle internally. The random number register simply returns a random byte. It is read-only. The System control register is a write-only register that doesn’t actually save a value. If you write 1 to it, the system will shut down. If you write 2, the system will reboot. If you write any other value the system will continue operation. And finally the Timer register. The Timer is a read-only register that stores the uptime of the system as four bytes. It stores this is in milliseconds. Changes I changed the way the keyboard register stores the last key. Instead of a single byte, it is now a buffer. The status is 0 if the buffer is empty. The buffer has FIFO structure. What will I work on next? Next I want to make a system for interrupts. This way the operating system or any other program running on the emulator can catch certain events such as Timer updates (With programmable interval, preferably), Keystrokes and maybe even more in the future, we’ll see!"}, {"post_id": 15084, "ts": "2026-06-24T14:50:01Z", "hours": 1.09, "text": "Keyboard handling I created IO registers for the Keyboard, with one address for the status and one for the key. The keys being pressed are detected by swing. Using this system I created a very simple program to render the last key pressed in the first cell of the text buffer. Changes I changed the handling of the load_reg_mem instruction to only read the first byte if it would otherwise read out-of-bounds. I changed glyph renderer to support more characters I added a glyph for the comma Used programs The keyboard program: 0D 00 00 00 13 44 06 00 00 00 00 00 07 00 0D 01 00 00 13 45 0E 00 00 0B CD 01 05 00"}, {"post_id": 12496, "ts": "2026-06-20T12:29:00Z", "hours": 2.7925, "text": "Text buffer renderer I created a renderer for the Text buffer. I created a simple image format called BImg (BFE Image) and with that I made images of 5 * 8 for (currently only uppercase) letters. Currently all characters are true cyan (#00FFFF) In the machine code, text can only be inputted by writing to the buffer (addresses 3024 to 4932). There are 36 lines of 53 characters. There is one pixel of padding on the right and bottom side of the glyphs. The padding is also coloured (#000101). All letter images are saved as .bin files in the resources folder in the jar."}, {"post_id": 10182, "ts": "2026-06-16T19:56:20Z", "hours": 0.7242, "text": "I created a renderer for the framebuffer. It simply loops over the framebuffer and renders the corresponding pixel using Swing. This allows me to write programs in machine code to make patterns like the one posted below. I had to do some improvements before being able to do this however. I added a new instruction to load to a pointer stored in a register. The entire bytecode for the program used below is: 02 00 00 00 00 00 02 01 00 00 07 D0 03 00 03 11 01 7F 03 01 03 06 00 00 00 0B D0 08 0C"}, {"post_id": 8854, "ts": "2026-06-14T18:53:47Z", "hours": 0.9192, "text": "I added a system to handle file input and using that I verified if all instruction handlers worked. They did not. I fixed a lot of bugs in instruction handling. The one I thought was most obvious was that, when a conditional jump didn’t jump because the condition wasn’t met, the PC wasn’t changed. This resulted in the program looping infinitely."}, {"post_id": 8818, "ts": "2026-06-14T17:35:54Z", "hours": 1.8122, "text": "I finished at least a basic version of the CPU. It handles 17 different instructions. I will admit I spent a good 80% of the time logged fixing this one bug where the Program Counter (PC) kept jumping to 24 even when it shouldn’t even be able to get under 1000. It turned out I needed to use “->” in my switch instead of “:”. The CPU itself currently does not do much, it reads a bit, checks what opcode it is, calls the handler for it and passes the PC until the PC reaches another segment of memory. It should now be able to handle all instructions, I will test it some more and then start working on actually parsing instructions from a file so we can have file input instead of hardcoding programs."}, {"post_id": 5812, "ts": "2026-06-09T18:59:02Z", "hours": 0.5858, "text": "I started working on the “CPU” to parse the opcodes, I made most of the initial instruction set but then noticed a lot of mistakes. Firstly, there were no pointers at all, so you couldn’t actually access memory and registers. I added some new instructions for that but realized once again things need changing. The registers need to become 32-bit so I can use them to store pointers (since that is pretty much their primary use). I’m going to change the load_reg instruction to fetch the next four bytes instead of just one. I need to make a lot of other things 32-bit as well to match the address space. I did so for the load_mem instruction, but for example all of the jump instructions still need changing. I might write a helper function for big-endian (both ways). The most significant change today was the changed instruction set and the addition of the parser within the CPU. Of that there is a screenshot below."}, {"post_id": 5104, "ts": "2026-06-08T19:52:40Z", "hours": 1.5119, "text": "After pondering for a bit I completely revamped the memory layout. It’s more clear now and I segregated everything adding a Bus class for universal access. I updated most of the instruction handlers, but not everything is updated yet. In the meantime I started working on a simple CLI help menu, I added some info about the memory for example. As seen in the screenshot below."}, {"post_id": 3373, "ts": "2026-06-06T08:25:14Z", "hours": 0.7089, "text": "I added a basic instruction set and added handlers for all the instructions"}, {"post_id": 2285, "ts": "2026-06-04T18:00:10Z", "hours": 0.6294, "text": "I made an ‘init()’ function to initialize basic memory and registers and designed some of the memory layout."}]...
|
Title: Beginner Friendly Emulator by @koen_ | Star Title: Beginner Friendly Emulator by @koen_ | Stardance
Devlogs:
I made an ‘init()’ function to initialize basic memory and registers and designed some of the memory layout.
I added a basic instruction set and added handlers for all the instructions
After pondering for a bit I completely revamped the memory layout. It’s more clear now and I segregated everything adding a Bus class for universal access. I updated most of the instruction handlers, but not everything is updated yet. In the meantime I started working on a simple CLI help menu, I added some info about the memory for example. As seen in the screenshot below.
I started working on the “CPU” to parse the opcodes, I made most of the initial instruction set but then noticed a lot of mistakes. Firstly, there were no pointers at all, so you couldn’t actually access memory and registers. I added some new instructions for that but realized once again things need changing. The registers need to become 32-bit so I can use them to store pointers (since that is pretty much their primary use). I’m going to change the load_reg instruction to fetch the next four bytes instead of just one. I need to make a lot of other things 32-bit as well to match the address space. I did so for the load_mem instruction, but for example all of the jump instructions still need changing. I might write a helper function for big-endian (both ways). The most significant change today was the changed instruction set and the addition of the parser within the CPU. Of that there is a screenshot below.
I finished at least a basic version of the CPU. It handles 17 different instructions. I will admit I spent a good 80% of the time logged fixing this one bug where the Program Counter (PC) kept jumping to 24 even when it shouldn’t even be able to get under 1000. It turned out I needed to use “->” in my switch instead of “:”. The CPU itself currently does not do much, it reads a bit, checks what opcode it is, calls the handler for it and passes the PC until the PC reaches another segment of memory. It should now be able to handle all instructions, I will test it some more and then start working on actually parsing instructions from a file so we can have file input instead of hardcoding programs.
I added a system to handle file input and using that I verified if all instruction handlers worked. They did not. I fixed a lot of bugs in instruction handling. The one I thought was most obvious was that, when a conditional jump didn’t jump because the condition wasn’t met, the PC wasn’t changed. This resulted in the program looping infinitely.
I created a renderer for the framebuffer. It simply loops over the framebuffer and renders the corresponding pixel using Swing. This allows me to write programs in machine code to make patterns like the one posted below. I had to do some improvements before being able to do this however. I added a new instruction to load to a pointer stored in a register. The entire bytecode for the program used below is: 02 00 00 00 00 00 02 01 00 00 07 D0 03 00 03 11 01 7F 03 01 03 06 00 00 00 0B D0 08 0C
Text buffer renderer I created a renderer for the Text buffer. I created a simple image format called BImg (BFE Image) and with that I made images of 5 * 8 for (currently only uppercase) letters. Currently all characters are true cyan (#00FFFF) In the machine code, text can only be inputted by writing to the buffer (addresses 3024 to 4932). There are 36 lines of 53 characters. There is one pixel of padding on the right and bottom side of the glyphs. The padding is also coloured (#000101). All letter images are saved as .bin files in the resources folder in the jar.
Keyboard handling I created IO registers for the Keyboard, with one address for the status and one for the key. The keys being pressed are detected by swing. Using this system I created a very simple program to render the last key pressed in the first cell of the text buffer. Changes I changed the handling of the load_reg_mem instruction to only read the first byte if it would otherwise read out-of-bounds. I changed glyph renderer to support more characters I added a glyph for the comma Used programs The keyboard program: 0D 00 00 00 13 44 06 00 00 00 00 00 07 00 0D 01 00 00 13 45 0E 00 00 0B CD 01 05 00
New IO registers I added new IO registers. Display mode, Random number, System control and Timer. The screenshot shows where all of these are found in memory. The timer takes up four bytes, the rest all one. The Display mode register is a read-write register that stores one byte to determine the display mode. 0 for text, 1 for video. The panel updates to this every CPU cycle internally. The random number register simply returns a random byte. It is read-only. The System control register is a write-only register that doesn’t actually save a value. If you write 1 to it, the system will shut down. If you write 2, the system will reboot. If you write any other value the system will continue operation. And finally the Timer register. The Timer is a read-only register that stores the uptime of the system as four bytes. It stores this is in milliseconds. Changes I changed the way the keyboard register stores the last key. Instead of a single byte, it is now a buffer. The status is 0 if the buffer is empty. The buffer has FIFO structure. What will I work on next? Next I want to make a system for interrupts. This way the operating system or any other program running on the emulator can catch certain events such as Timer updates (With programmable interval, preferably), Keystrokes and maybe even more in the future, we’ll see!
Interrupts I finally did it. Interrupts are now a thing. There are, as of now, three interrupts. Timer, Keyboard and one without purpose. Each interrupt is allocated 50 bytes of memory at the end of the program. The standard locations in the Vector Table are 1850, 1900 and 1950. An instruction with opcode 18 or 0x12 was added for a so called “State Return”. This instruction is mandatory at the end of an interrupt. It will set the PC back to the IRP (Interrupt Return Pointer) and and all the flags back to their saved state. The screenshot below is a program that utilizes the Timer interrupt to create a simple fade-in animation. Changes As for changes, not a lot happened. Small tweaks in the Timer and Keyboard handlers to make them raise interrupts and of course additions to the CPU loop. Main was also slightly changed to make sure everything closes correctly on a System Control 0x01 call. (Shutdown) What will I work on next? Frankly, I do not have anything concrete planned. I am thinking of adding a few instructions for interrupts (Specifically Disable, Enable and Raise. For Syscalls in a possible OS maybe?) and overall expanding upon them where I can.
New interrupt handling instructions! A tiny addition today, I added three new instructions. One for manually raising interrupts, one for toggling interrupts and one for changing the IVT (Interrupt Vector Table). The latter allows you to change the addresses for existing interrupts and add new interrupts up to 255. (When an undefined interrupt is raised, the PC will be set to the start of RAM) Changes Nothing today What will I work on next? I will probably fix the jump instruction because some things bug me about it. The screenshot The screenshot below shows terminal output. Most of the output is debug messages, but one important thing is the line ‘Handling interrupt! Type 4’. Type 4 is a custom interrupt!
Changed jump instructions I added dynamic variants of the cmp instruction and the entire set of jump instructions. Nothing has been tested yet as I was running short on time. Changes I made all jump instructions 32-bit
Documentation I added a few flags (-e, -v, -h and -m. Nothing special) and started working on the official Documentation. Project info will soon be updated for the URL.
Security and the halt instruction Mostly unfinished work today. Firstly, I changed the halt instruction. It now halts the instructions until an interrupt is handled. If interrupts are disabled, the halted state will automatically be set to false after 10 million cycles (around 3.75 seconds) by the watchdog. I also added a priviliged mode, but I only actually made a few instructions priviliged and no registers and such yet. For this all I added instructions 241 and 30. 241 allows a user to switch security modes (only if the program is executing within ROM, so no user programs can do this). 30 allows you to change the interval of the timer interrupt. That’s it for today, I probably will be back tomorrow. As for the screenshot, that’s just the output when I was testing the watchdog system.
More letters and privileged fields Today also a small update, I am working towards the end! I added some more privileged fields. The System control, Display Mode and overall Video Memory. I also slightly changed the documentation to include the newest instruction. I might have written to the wrong file for that though (will fix that very soon). And mostly I added new characters, those being all lowercase letters and the period. (See screenshot below) Next time I will add new arithmetic instructions because now you can’t actually add one variable to another. And I will handle some more security stuff!
Memory Sizes Configuration I added a flag (-mm for manual-memory) so users can manually set sizes for all regions of memory. To help, it will then also output the locations of everything to the terminal. Changes I added the add_r and sub_r instructions for dynamic arithmetic operations.
Stack functionality I added the Stack Pointer register, along with PUSH, POP, call and ret instructions. The stack grows downwards with frames of a WORD (32-bit). The SP starts at the top of RAM, PUSH moves it down four cells, POP moves it up four cells. Documentation hasn’t been changed fully. Changes Further, I removed the –menu option as it was mostly useless and added the –docs option to print out sections of the docs in the terminal. The screenshot below showcases the output for -di
More arithmetics I have been kind of stupid, thinking only add and sub will be enough. So I added all arithmetic and bitwise operation instructions needed and even more to make things easier. I added (all except for ‘not’ also have a dynamic version through registers): Mul Div And Or Xor Not ShR (Shift Right) ShL (Shift Left) SAR (Shift Arithmetic Right) Further changes I also updated the docs. Of course about the instructions, but also about the registers. Last time I added stack functionality, so I added the SP in the docs and removed the part that said the stack wasn’t included. The screenshot below is simply the code for the new instructions in the CPU loop
Small internal improvements I changed the inner structure a bit, I finally made use of the “Init” class by putting the function in there that initializes the CPU, bus and screen. I also updated the “–help” menu and added a new flag. The new flag is “-msg”, it takes a string as input and simply prints it to the text buffer for fun. The screenshot below was produced using this flag. I also made a JPackage in app-image form, but I didn’t release it anywhere yet. Further changes I added new characters. The “ ' “, “ " “, “;”, “:”, “?” and “!”
Small additions and fixes in instructions I added two instructions: cmp_r and nop. cmp_r is simply register-to-register comparation. nop is an instruction to explicitly do nothing. A sort of padding. I also added a third default interrupt: “Math Error”. It is raised when division by zero is attempted. Further changes I changed a couple of things in the interrupt handling. I made sure when an interrupt is manually raised, the PC is incremented beforehand, so it won’t loop, and I made sure that calls to undefined interrupts aren’t actually executed but instantly return. Next time? Next time I’m doing (hopefully) a final pre-1.0 cleanup. I’ll be catching some possible crashes to make sure they’re CPU faults instead of emulator crashes and I’ll add a way to switch from Big to Little Endian to make sure everything is reachable in memory. What’s below? The screenshot below is my handleInterrupt() function....
|
1792734809.1793697
|
1793339609.1793697
|
|
7389
|
My first slack bot! by @nasif0 | Stardance
|
nasif0
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @nasif0 | Stardance
|
1793242581.050135
|
1793847381.050135
|
|
7390
|
AutoPress by @heitordecarvalhopessoa | Stardance
|
heitordecarvalhopessoa
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: AutoPress by @heitordecarvalhopessoa | Star Title: AutoPress by @heitordecarvalhopessoa | Stardance...
|
1793397172.043829
|
1794001972.043829
|
|
7391
|
My awesome macropad! by @DESIGNER | Stardance
|
DESIGNER
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @DESIGNER | Stardan Title: My awesome macropad! by @DESIGNER | Stardance...
|
1792702127.3695207
|
1793306927.3695207
|
|
7392
|
My awesome macropad! by @Atina | Stardance
|
Atina
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Atina | Stardance
|
1793321388.4199212
|
1793926188.4199212
|
|
7393
|
Rotarium by @4lvaret | Stardance
|
4lvaret
|
0
|
9.1
|
0
|
[]
|
[{"post_id": 6260, "ts": "2026 [{"post_id": 6260, "ts": "2026-06-10T14:53:19Z", "hours": 0.3494, "text": "cleaned up a little stopped using cheap tricks in the installer (we use tricks in main.py now that work)"}, {"post_id": 6245, "ts": "2026-06-10T14:28:22Z", "hours": 0.4478, "text": "i worked some more added some detection for non-glibc systems in the installer, and cleaned up a little in the installer so i dont have duplicate functions / whatever"}, {"post_id": 3427, "ts": "2026-06-06T11:11:38Z", "hours": 0.4161, "text": "lost like 2 hours of progress due to stuff happening with hackatime and my system clock and whatever but its fineeeee anyways online repos exist now upgrading packages exist too more cleanup i dont have much more to say quote of the project: hackatime you silly goof"}, {"post_id": 3339, "ts": "2026-06-06T07:03:32Z", "hours": 2.7861, "text": "added some package metadata, cleaned up a little, yeah thats basically it"}, {"post_id": 2849, "ts": "2026-06-05T18:09:08Z", "hours": 0.3481, "text": "so i did some cryptography to check if the install script has been tampered with so you dont get mitmed because thats apparently important"}, {"post_id": 2768, "ts": "2026-06-05T15:44:46Z", "hours": 2.4842, "text": "added support for native packages (currently only have fastfetch), discontinued macos support, yeah thats about it i should probably host the packages on the repo to prevent being supply chained but thats a problem for future me"}, {"post_id": 2288, "ts": "2026-06-04T18:08:12Z", "hours": 2.2672, "text": "added some support for python installation, will add portable packages later"}]...
|
Title: Rotarium by @4lvaret | Stardance
Devlogs:
Title: Rotarium by @4lvaret | Stardance
Devlogs:
added some support for python installation, will add portable packages later
added support for native packages (currently only have fastfetch), discontinued macos support, yeah thats about it i should probably host the packages on the repo to prevent being supply chained but thats a problem for future me
so i did some cryptography to check if the install script has been tampered with so you dont get mitmed because thats apparently important
added some package metadata, cleaned up a little, yeah thats basically it
lost like 2 hours of progress due to stuff happening with hackatime and my system clock and whatever but its fineeeee anyways online repos exist now upgrading packages exist too more cleanup i dont have much more to say quote of the project: hackatime you silly goof
i worked some more added some detection for non-glibc systems in the installer, and cleaned up a little in the installer so i dont have duplicate functions / whatever
cleaned up a little stopped using cheap tricks in the installer (we use tricks in main.py now that work)...
|
1793163092.3873777
|
1793767892.3873777
|
|
7394
|
My awesome macropad! by @MemZNTV | Stardance
|
MemZNTV
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @MemZNTV | Stardanc Title: My awesome macropad! by @MemZNTV | Stardance...
|
1793202770.1850405
|
1793807570.1850405
|
|
7395
|
My awesome macropad! by @vanta-jack | Stardance
|
vanta-jack
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @vanta-jack | Stard Title: My awesome macropad! by @vanta-jack | Stardance...
|
1793350236.1121182
|
1793955036.1121182
|
|
7396
|
Ringbot by @Xaenic | Stardance
|
Xaenic
|
0
|
1.77
|
0
|
[]
|
[{"post_id": 3063, "ts": "2026 [{"post_id": 3063, "ts": "2026-06-05T23:10:26Z", "hours": 1.7714, "text": "I’ve got the basic stuff down so far. You can ping the bot to see if it’s up. You can give others permission to “ring” you for a certain amount of time. If you’ve been given permission and it hasn’t run out yet, you can use /ring and the bot will ping them just enough to let them know. (useful when i have someone in the dc coming over but i have no clue when they’ll be here)"}]...
|
Title: Ringbot by @Xaenic | Stardance
Devlogs:
I’ Title: Ringbot by @Xaenic | Stardance
Devlogs:
I’ve got the basic stuff down so far. You can ping the bot to see if it’s up. You can give others permission to “ring” you for a certain amount of time. If you’ve been given permission and it hasn’t run out yet, you can use /ring and the bot will ping them just enough to let them know. (useful when i have someone in the dc coming over but i have no clue when they’ll be here)...
|
1792799352.8201468
|
1793404152.8201468
|
|
7397
|
My awesome macropad! by @anggerbagass | Stardance
|
anggerbagass
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @anggerbagass | Sta Title: My awesome macropad! by @anggerbagass | Stardance...
|
1792932657.0941718
|
1793796657.0941718
|
|
7398
|
Untitled project by @rod520 | Stardance
|
rod520
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @rod520 | Stardance
|
1793389900.5472314
|
1793994700.5472314
|
|
7399
|
PlaPy by @twnarx | Stardance
|
twnarx
|
1
|
14.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-26T20:25:06Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A fully featured, pixel-art themed Snake game built with Python and Pygame. PlaPy combines classic Snake gameplay with custom pixel-art graphics, multiple difficulty levels, persistent high scores, bonus food mechanics, sound effects, and a polished menu system.", "repo": "https://github.com/twnar/PlaPy", "demo": "https://twnar.itch.io/plapy"}]...
|
[{"post_id": 35421, "ts": "202 [{"post_id": 35421, "ts": "2026-07-26T20:21:06Z", "hours": 1.0, "text": "Available on itch.io!"}, {"post_id": 35105, "ts": "2026-07-26T10:09:48Z", "hours": 6.0, "text": "My first game dev experience using python!"}, {"post_id": 34661, "ts": "2026-07-25T15:50:44Z", "hours": 0.0, "text": "only using python :D"}, {"post_id": 34637, "ts": "2026-07-25T15:12:30Z", "hours": 5.0, "text": "appleee"}]...
|
Title: PlaPy by @twnarx | Stardance
Devlogs:
appl Title: PlaPy by @twnarx | Stardance
Devlogs:
appleee
only using python :D
My first game dev experience using python!
Available on itch.io!
Ships:
A fully featured, pixel-art themed Snake game built with Python and Pygame. PlaPy combines classic Snake gameplay with custom pixel-art graphics, multiple difficulty levels, persistent high scores, bonus food mechanics, sound effects, and a polished menu system....
|
1792882045.076252
|
1793746045.076252
|
|
7400
|
Untitled by @twnarx | Stardance
|
twnarx
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @twnarx | Stardance
|
1792939918.0179377
|
1793803918.0179377
|