You are browsing as a guest. Sign up (or log in) to start making projects!

Wirenux

@Wirenux

Joined June 6th, 2026

  • 168Devlogs
  • 9Projects
  • 11Ships
  • 144Votes
A french teen :yay: https://github.com/wirenux
Open comments for this post

33m 8s logged

Little update : I added the Shade selector and the palette selector, but also the Early GameBoy font ! And I think it look nice :yay:

0
0
24
Open comments for this post

1h 49m 25s logged

I just discovered gpui it’s a UI library based on the GPU. It was created by the same team that make Zed (the code editor). And I found out that it very personalizable. So I am rewriting DMGTile in it :yay: . So far I have the basic grid and basic tools like the bucket, the pencil, eraser etc… The only problem is that I can’t track the right click drag. (I also got the native macOS toolbar)

0
0
20
Ship

What is this ?

DMGTile is a Gameboy Tile Editor/Designer build in Rust. Basically it’s a drawing program for Gameboy game.

Why ( °ヮ° ) ?

The idea for this project came from GBTD (Gameboy Tile Designer), who is Windows only and kinda old… So I recreated it from-scratch in Rust, so it can run on Linux, Windows & macOS without Wine (or equivalent). And all of this with the same features as GBTD.

Core Features ( ദ്ദി ˙ᗜ˙ )

Editor

  • Pixel Painting: Use the mouse to paint ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧
  • Bucket Fill: A classic flood-fill tool
  • Transform Tools: You can flip, rotate, move the active tile
  • Live Previews: A little 4x4 grid to preview the active tile in a pattern (e.g: a background)
  • Cached Texture Rendering: Tile textures are cached and only rebuilt when a tile is modified

Project Management

  • Multi-Tile Support: You can draw up to 128 tiles per project file (you can scroll the list on the right of the screen to change tile)
  • Undo/Redo: Each action is store in a stack, so you are able to undo or redo an action !
  • Copy/Paste/Cut: Duplicate or move tile data between slots (in the same project)
  • File Format: Each project is saved in .dmgtile (JSON), storing only the modified tiles while preseving the tiles ID
  • Keyboard Shortcut: Full Cmd/Ctrl support for New Project, Open, Save, Undo, Redo, etc… Even the tools have there own shortcut

Export

  • .bin Export: Exports all the modified tiles into the Gameboy’s native 2bpp format
  • .c Export: Exports all the modified tiles as a C array, with configurable array name (Can be used with GBDK)
  • Selective export: Only the modified tiles are written out

Okay… but how to test it ?

There is multiple way to test DMGTile but the easiest is to go to the Github Release and download the program for your OS ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧

Then you can launch it and start drawing ! You can also try the export part to a .bin or .c file (you can see the note.md file on github, it’s my personal note when I was building DMGTile)

Thank you

Just a little thank you ❤️

(Every things you need is probably in the README.md)
(I even made a cute little icon :D )

  • 12 devlogs
  • 15h
  • 13.92x multiplier
  • 211 Stardust
Try project → See source code →
Open comments for this post

1h 9m 42s logged

This might be the last devlogs before Ship Nº1 :yay:

After wayyyy to much time the macOS, Windows and Linux build are ready ! Apple GateKeeper and windows Defender don’t like my application 😭 they both flag as something weird / virus… I also realize that my Linux build wasn’t working so I fix it !

I released v1.0.0 :yippeee: ! I added those warning about Windows Defender and Apple GateKeeper !

I also added the --dev flag to get the dev menu and finished the README.md

0
0
73
Open comments for this post

59m 47s logged

I change a little bit the logo to add a background for the app icon. Now the app run on macOS, Windows & Linux with icon on each one ! The next step is to make the README & a little Manual ! (And of course publish & build the release version for Windows MacOS & Linux !)

0
0
50
Open comments for this post

1h 17m 11s logged

After 40min in Aseprite I am finally happy with a logo (I am so so pround of my self 😤 :yay: :yesyes: ). I designed it all by my self :yippeee: . Also I added some “toast” for a better UX.

0
0
90
Open comments for this post

44m 41s logged

This is a little update. In this devlogs I just created & tested my Makefile to cross built for Linux, Windows, MacOS from my Mac. And this work !

0
0
18
Open comments for this post

2h 45m 18s logged

Wow 2h45 :yippeee: :yesyes: This the devlogs with the most things I added :wowsers:

Here is a list of everything I added:

  • A Export window
  • Now allow up to 128 tiles on a single file
    • When you draw somethings in tile 1 and on tile 6 in the .dmgtile file there will save only those 2 with there ID. In the .c file is the same but without there ID so there will just be right after the other (same thing for .bin)
  • “New project” button, with it you can start a…. NEW PROJECT :wowsers:
  • Keyboard shortcut text in the top menu
  • Keyboard shortcut to use every tool and change shade easily
  • Hover text on every tool (to show the keyboard shortcut)
  • Multiple tile render
  • Move tool bar to the top for better UI
  • Copy, Cut, Paste tile
  • Add more Ctrl+Z utility :yep:
  • Big chunk of tile see if it’s look good on repeat

Andddd, that it :yay: (this was damn hard). You can find every commit on my github.

0
0
103
Open comments for this post

1h 13m 30s logged

A big feature here :cookie-huge-blahaj: :thumbs-up:

I added the export to .dmgtile file (it’s just a JSON but modified :lol_emoticon: ). You can also open it !

I also added the Undo / Redo with CTRL+Z & CTRL+SHIFT+Z (or the same but with CMD on macOS) and also in the Edit menu

But for me the biggest feature of this devlogs is the Export menu where you can choose the extension (.bin or .c) and if you choose .c you can modify the array name :yay: .

I also added the drag when using the bucket 🪣

0
0
9
Open comments for this post

1h 48m 48s logged

A lot of change :yay: :yesyes: .

I added a top bar to with the option to export the tile in .bin & .c :yay:

For the top bar I had the idea of using muda but it just a complete mess on macOS and over kill for what I wanted to do so i just use the eframe equivalent :thumbs-up:

I also added icon to replace the old text.

0
0
12
Open comments for this post

1h 0m 30s logged

Wow exaclty one hour :wowsers: Now the tile can be exported !
Understanting the Gameboy way to read tile was so hard that I started to write my own docs 💀 .

In this devlogs the important part is just to know that now every tile can be exported in a .bin (later I will do a .c/.h like GBTD)

0
0
60
Open comments for this post

1h 32m 9s logged

I added a LOT of thing (i think… :think: ) :yay-67: . I added all the basic tool for pixel art (for the gameboy).

Here is a list :

  • Canvas movement (move the pixel art in the canvas),
  • Horizontal and Vertical flip,
  • Rotate 90 clockwise,
  • Pen & Bucket tool.

I also added a new RGB palette to get the classic green one and the gray one :yep:

(I also did fixed some little bug with the UI and the canvas)

0
0
32
Open comments for this post

42m 51s logged

Little update here :yesyes: . I added some new things :yay: . I added the color selector ! Also some shade indicator for the left and right mouse button, since in the color selector you can change the color for both. (They even got there own little outline :cute: )

0
0
23
Open comments for this post

1h 15m 48s logged

:yay: 1st devlogs :strong_muscle_dino: . Right now I added the very basic feature, the grid with draw and erase. You can draw in dark grey with the left click and erase (paint in white) with the right click ! :yesyes:

0
0
16
Ship

Rust 6502

A MOS 6502 emulator TUI with a lot of features

Before reading this Ship you should take a look at Ship 1 & Ship 2

What did you add ?

Here is a list of everything that I have added since the last Ship

Features

  • Breakpoints : press “F” to set a breakpoint at any address, the emulator halts the moment PC reaches it

  • Watchpoints : same idea, but for memory

  • Conditional Breakpoints : halt execution when a register (AC, XR, YR, SP) meets a comparison (!=, ==, >=, <=, >, <) against a target value

  • Step Back : press “B” to rewind execution one instruction at a time, restoring the CPU and memory exactly as they were before

  • Random Number Generator : a memory-mapped register at $BFF3 that returns a random byte from the host PC on every read, so ASM programs can have real random number

  • Keybind Panel : a popup listing every keyboard shortcut and control, and removed the old footer keybind list to make room for it

Demo Program

  • Snake : updated to pull apple placement from the new RNG instead of the old pseudo random method

ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧

What was challenging ?

Wiring the conditional breakpoint into the run loop without breaking the existing breakpoint/watchpoint checks was harder than I though. Also getting a dropdown-style menu to choose the operator working in Ratatui was tought since there’s no native dropdown widget. So I ended up building a little spinner (▲ value ▼) that cycles through the operators instead ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧

What are you proud of ?

I’m proud that my emulator now has real debugging tools like : breakpoints, watchpoints, conditional breakpoints, and step-back.

What should people know so they can test your project ?

A Nerd Font is recommended in your terminal for a better rendering of the UI icons on the Home page

How to test:

  • Install the emulator directly from crates.io by running:
cargo install rust6502
  • Download all the .bin files on the GitHub Releases page.
  • Launch the emulator by running rust6502 and use the built-in Home menu to select one of the demo .bin files!

Things to try

  • Load snake_demo.bin and play :D

  • Set a breakpoint on an address inside a demo program (check the keybind panel for the shortcut!) and watch execution halt exactly there

  • Try a conditional breakpoint : for example, halt whenever XR == 0F and watch it stop right when the register hits that value

  • Press “B” to step backward and rewind the CPU state instruction by instruction

  • Press the keybind panel shortcut to see the full list of controls

  • 6 devlogs
  • 7h
  • 18.98x multiplier
  • 127 Stardust
Try project → See source code →
Open comments for this post

1h 19m 23s logged

+1h20 :yesyes: So… this might be the last devlog for this project. I just released the v1.3.0. And here is what I added since the last devlog :

  • A RNG documentation
  • Snake now use a real RNG
  • I recorded the Asciinema .cast file
  • Update the python tools to generate memory diagrams
  • Update the Memory documentation

So next step is the 3rd Ship :yay: :yesyesyes:

0
0
42
Loading more…

Followers

Loading…